==與===的區(qū)別
麻煩請問下,我在add方法if判斷條件中,如果寫的是(this.current == ''),數(shù)組的第一個(gè)元素不能被添加到target數(shù)組中,但是判斷條件改成(this.current === '')就可以了。為什么會有這個(gè)問題呢?
我現(xiàn)在理解的,==是簡單的做比較,并且在比較的時(shí)候會做字符轉(zhuǎn)換,===是做強(qiáng)比較,一定要全等才符合條件。
麻煩請問下,我在add方法if判斷條件中,如果寫的是(this.current == ''),數(shù)組的第一個(gè)元素不能被添加到target數(shù)組中,但是判斷條件改成(this.current === '')就可以了。為什么會有這個(gè)問題呢?
我現(xiàn)在理解的,==是簡單的做比較,并且在比較的時(shí)候會做字符轉(zhuǎn)換,===是做強(qiáng)比較,一定要全等才符合條件。
2019-08-05
舉報(bào)
2019-08-06
同學(xué),你的理解是正確的,三個(gè)等號就是強(qiáng)等,這個(gè)強(qiáng)是多了一層的判斷:
一個(gè)值只與自身全等。
一般而言,根據(jù) ECMAScript 規(guī)范,所有的對象都與?
undefined?
和?null?
不相等。這一塊屬于Javascript基礎(chǔ),可以參考:JavaScript 中的相等性判斷
嚴(yán)格相等 ("triple equals" 或 "identity"),使用?===?,
寬松相等 ("double equals")?,使用?==
2019-08-06
==是等于,===是恒等于