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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js真假之空數組的轉換

js真假之空數組的轉換

拉風的咖菲貓 2018-11-17 17:19:05
let obj ={        a :true,        b:[]     }if(obj.a && obj.b){   console.log(324) }//這里為什么會輸出324呢? 明明obj.b是個空數組怎么會是真呢?//如果整個流程是這樣的話?obj.b => [] => Boolean([]) => true//為啥單單比較[]===[]//就是false呢?**補充:如果我要實現一般情況的那種都為true才執行1的功能,該如何修改呢?這個數組有些時候是非空數組
查看完整描述

1 回答

?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

if里面的轉換和==比較的隱式轉換不一樣;
if條件里面只要是Object類型就是true,可參見To Boolen表;
==的隱式類型轉換式通過ToPrimitive的流程,可見其他回答下的文章鏈接;
[]===[]:兩個[]的引用地址不一樣當然是false

查看完整回答
反對 回復 2018-11-17
  • 1 回答
  • 0 關注
  • 558 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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