亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

==與===的區別

麻煩請問下,我在add方法if判斷條件中,如果寫的是(this.current == ''),數組的第一個元素不能被添加到target數組中,但是判斷條件改成(this.current === '')就可以了。為什么會有這個問題呢?

我現在理解的,==是簡單的做比較,并且在比較的時候會做字符轉換,===是做強比較,一定要全等才符合條件。

正在回答

2 回答

同學,你的理解是正確的,三個等號就是強等,這個強是多了一層的判斷:

var?num?=?0;
var?obj?=?new?String("0");
var?str?=?"0";
var?b?=?false;

console.log(num?===?num);?//?true
console.log(obj?===?obj);?//?true
console.log(str?===?str);?//?true
console.log(num?===?obj);?//?false
console.log(num?===?str);?//?false
console.log(obj?===?str);?//?false
console.log(null?===?undefined);?//?false
console.log(obj?===?null);?//?false
console.log(obj?===?undefined);?//?false

一個值只與自身全等。

一般而言,根據 ECMAScript 規范,所有的對象都與?undefined?和?null?不相等。


這一塊屬于Javascript基礎,可以參考:JavaScript 中的相等性判斷

  • 嚴格相等 ("triple equals" 或 "identity"),使用?===?,

  • 寬松相等 ("double equals")?,使用?==


1 回復 有任何疑惑可以回復我~

==是等于,===是恒等于


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

==與===的區別

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號