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

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

{}[true]什么意思,為什么返回的是[true]

{}[true]什么意思,為什么返回的是[true]

momoyy123 2016-04-19 16:39:14
!{}[true]什么意思,為什么返回的是true
查看完整描述

1 回答

已采納
?
qq_青棗工作室_0

TA貢獻446條經驗 獲得超754個贊

{}是一個對象,{}[true]就是獲取{}對象里的名字叫true的屬性。由于{}是一個空對象,里面沒有一個叫true的屬性,所以{}[true]返回undefined,而!{}[true]就相當于!undefined,即返回的是true。


{}[true],在console控制臺里返回[true],是因為單純寫個{}語法上無法判斷為一個表達式,也可能表示一代碼段,函數就是用{}括起來的嘛。那語法上把{}解析為代碼段,后面的[true]就是一個數組了,所以輸出[true]。


那在前面加個嘆號表示取反操作符,!{}[true]就是明確的一個表達式。而這個表達式的值就是true。

或者 var a = {}[true]; 賦值操作符=的右邊也是一個明確的表達式。

查看完整回答
2 反對 回復 2016-04-19
  • 1 回答
  • 0 關注
  • 2054 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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