首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

(![] + [])[+ []] ...解释为什么会这样

(![] + [])[+ []] 是一个 JavaScript 表达式,它的结果是字符串 "undefined"。

解释这个表达式的运行过程如下:

  1. [] 是一个空数组。
  2. ![] 的意思是对空数组进行逻辑非运算,空数组被转换为布尔值为 true,所以逻辑非运算的结果为 false。
  3. false 是一个包含一个元素的数组,该元素是布尔值 false。
    • [] 的意思是将空数组进行隐式类型转换,转换为数字类型。由于空数组被转换为字符串 "",再转换为数字类型时,结果为 0。
  4. 所以最终结果为 (false)0,即取数组 false 的第一个元素,由于数组下标只能是数字类型,所以将字符串 "false" 隐式转换为数字类型 0,所以结果为 "undefined"。

这个表达式的结果是 "undefined",表示未定义。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券