国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

從 == 和 === 入手,聊聊隱式類(lèi)型轉(zhuǎn)換

learning / 962人閱讀

摘要:面試官和有什么區(qū)別童鞋要求數(shù)據(jù)類(lèi)型相同,會(huì)進(jìn)行隱式類(lèi)型轉(zhuǎn)換面試官能輸出么童鞋下面,我們來(lái)一起看看和到底有什么區(qū)別,以及上面問(wèn)題的解法。其中,被稱(chēng)為引用數(shù)據(jù)類(lèi)型,其他種被稱(chēng)為基本數(shù)據(jù)類(lèi)型。是一種類(lèi)似于字符串的,表示獨(dú)一無(wú)二值的數(shù)據(jù)類(lèi)型。

面試官:== 和 === 有什么區(qū)別?  
童鞋:=== 要求數(shù)據(jù)類(lèi)型相同,== 會(huì)進(jìn)行隱式類(lèi)型轉(zhuǎn)換...
面試官:JavaScript:(a==1 && a==2 && a==3)能輸出true么?
童鞋:???

下面,我們來(lái)一起看看 == 和 === 到底有什么區(qū)別,以及上面問(wèn)題的解法。

數(shù)據(jù)類(lèi)型

JavaScript 語(yǔ)言中,數(shù)據(jù)類(lèi)型有:undefined、null、Boolean、String、Number、Object、Symbol。

其中,Object被稱(chēng)為引用數(shù)據(jù)類(lèi)型,其他6種被稱(chēng)為基本數(shù)據(jù)類(lèi)型。Symbol 是一種類(lèi)似于字符串的,表示獨(dú)一無(wú)二值的數(shù)據(jù)類(lèi)型。

隱式類(lèi)型轉(zhuǎn)換

做一個(gè)小實(shí)驗(yàn),得出不同類(lèi)型的值用 == 操作符比較后的結(jié)果

類(lèi)型(x) 類(lèi)型(y) 結(jié)果
undefined null true
String Number toNumber(x) == y
Boolean 任何數(shù)據(jù)類(lèi)型 toNumber(x) == y
Object 任何數(shù)據(jù)類(lèi)型 toPrimitive(x) == y
Symbol 任何數(shù)據(jù)類(lèi)型 false

toNumber() 和 toPrimitive() 方法是內(nèi)部的,可以看一下估值

toNumber() 方法,比較好理解,就是轉(zhuǎn)換成 Number 類(lèi)型,類(lèi)似 Number() 方法。

類(lèi)型 結(jié)果
undefined NAN
null 0
Boolean 任何數(shù)據(jù)類(lèi)型
String Number

toPrimitive() 方法

類(lèi)型 結(jié)果
Object 如果對(duì)象的 valueOf 方法的結(jié)果是原始值,返回原始值; 如果對(duì)象的 toString 方法返回原始值,就返回這個(gè)值; 其他情況都返回一個(gè)錯(cuò)誤

舉個(gè)例子,來(lái)說(shuō)明一下 toPrimitive() 方法

let test = {
  value: 0,
  valueOf () {
    console.log("in valueOf fun")
    return this.value
  },
  toString () {
    console.log("in toString fun")
    return this.value
  }
}

console.log("test == 0 ?", test == 0)

控制臺(tái)輸出結(jié)果:

回到面試題
JavaScript:(a==1 && a==2 && a==3)能輸出true么?
let a = {
  value: 0,
  valueOf () {
    return ++this.value
  }
}

面試遇到隱式類(lèi)型轉(zhuǎn)換,再也不會(huì)怕啦~

本文首發(fā)于:https://github.com/yingye/Blog/issues/1

歡迎各位關(guān)注我的Blog,正文以issue形式呈現(xiàn),喜歡請(qǐng)點(diǎn)star,訂閱請(qǐng)點(diǎn)watch~

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/107762.html

相關(guān)文章

  • ++[[]][+[]]+[+[]]==10? 深入淺出弱類(lèi)型 JS 的隱式轉(zhuǎn)換

    摘要:與此相對(duì),強(qiáng)類(lèi)型語(yǔ)言的類(lèi)型之間不一定有隱式轉(zhuǎn)換。三為什么是弱類(lèi)型弱類(lèi)型相對(duì)于強(qiáng)類(lèi)型來(lái)說(shuō)類(lèi)型檢查更不嚴(yán)格,比如說(shuō)允許變量類(lèi)型的隱式轉(zhuǎn)換,允許強(qiáng)制類(lèi)型轉(zhuǎn)換等等。在中,加性運(yùn)算符有大量的特殊行為。 從++[[]][+[]]+[+[]]==10?深入淺出弱類(lèi)型JS的隱式轉(zhuǎn)換 本文純屬原創(chuàng)? 如有雷同? 純屬抄襲? 不甚榮幸! 歡迎轉(zhuǎn)載! 原文收錄在【我的GitHub博客】,覺(jué)得本文寫(xiě)的不算爛的...

    miya 評(píng)論0 收藏0
  • 你不知道的js中關(guān)于this綁定機(jī)制的解析[看完還不懂算我輸]

    摘要:綁定書(shū)中提到在中,實(shí)際上并不存在所謂的構(gòu)造函數(shù),只有對(duì)于函數(shù)的構(gòu)造調(diào)用。規(guī)則使用構(gòu)造調(diào)用的時(shí)候,會(huì)自動(dòng)綁定在期間創(chuàng)建的對(duì)象上。指向新創(chuàng)建的對(duì)象綁定比隱式綁定優(yōu)先級(jí)高。 showImg(http://ww1.sinaimg.cn/large/005Y4rCogy1fstcwvzkjzj30sg0g0qqn.jpg); 前言 最近正在看《你不知道的JavaScript》,里面關(guān)于this綁...

    dunizb 評(píng)論0 收藏0
  • 性能優(yōu)化詳解

    摘要:幾個(gè)月前面試的時(shí)候問(wèn)我性能優(yōu)化我可能會(huì)開(kāi)始背誦雅虎軍規(guī),加點(diǎn),代碼層面稍稍講點(diǎn),現(xiàn)在系統(tǒng)的梳理下性能優(yōu)化的方方面面本文涉及方面有代碼優(yōu)化網(wǎng)絡(luò)請(qǐng)求過(guò)程角度入手解析建立鏈接網(wǎng)絡(luò)往返時(shí)延數(shù)據(jù)傳輸網(wǎng)絡(luò)問(wèn)題角度入手請(qǐng)求數(shù)量流量性能優(yōu)化測(cè)試工具代碼優(yōu)化 幾個(gè)月前面試的時(shí)候問(wèn)我性能優(yōu)化我可能會(huì)開(kāi)始背誦雅虎軍規(guī),加點(diǎn)webp,代碼層面稍稍講點(diǎn),現(xiàn)在系統(tǒng)的梳理下性能優(yōu)化的方方面面 本文涉及方面有: 代...

    piapia 評(píng)論0 收藏0
  • 性能優(yōu)化詳解

    摘要:幾個(gè)月前面試的時(shí)候問(wèn)我性能優(yōu)化我可能會(huì)開(kāi)始背誦雅虎軍規(guī),加點(diǎn),代碼層面稍稍講點(diǎn),現(xiàn)在系統(tǒng)的梳理下性能優(yōu)化的方方面面本文涉及方面有代碼優(yōu)化網(wǎng)絡(luò)請(qǐng)求過(guò)程角度入手解析建立鏈接網(wǎng)絡(luò)往返時(shí)延數(shù)據(jù)傳輸網(wǎng)絡(luò)問(wèn)題角度入手請(qǐng)求數(shù)量流量性能優(yōu)化測(cè)試工具代碼優(yōu)化 幾個(gè)月前面試的時(shí)候問(wèn)我性能優(yōu)化我可能會(huì)開(kāi)始背誦雅虎軍規(guī),加點(diǎn)webp,代碼層面稍稍講點(diǎn),現(xiàn)在系統(tǒng)的梳理下性能優(yōu)化的方方面面 本文涉及方面有: 代...

    godlong_X 評(píng)論0 收藏0
  • 33 個(gè) js 核心概念(四):顯式 (名義) 與 隱式 (鴨子)類(lèi)型轉(zhuǎn)換

    摘要:相對(duì)于顯式使用,隱式轉(zhuǎn)換則更加簡(jiǎn)潔。隱式轉(zhuǎn)換為布爾值將其他類(lèi)型值隱式轉(zhuǎn)換為布爾值是我們最常用的一種轉(zhuǎn)換。在以下場(chǎng)景中,都是進(jìn)行判斷,而只要傳入的值不是布爾值,都會(huì)通過(guò)隱式類(lèi)型轉(zhuǎn)換轉(zhuǎn)為布爾值。原文地址阿木木的博客與隱式鴨子類(lèi)型轉(zhuǎn)換 showImg(https://segmentfault.com/img/remote/1460000017309581); 前言 說(shuō)實(shí)話,JavaScrip...

    hoohack 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<