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