专栏名称: 前端大全
分享 Web 前端相关的技术文章、工具资源、精选课程、热点资讯
今天看啥  ›  专栏  ›  前端大全

JS语法: 由 ++[[]][+[]]+[+[]] = 10  引发的问题

前端大全  · 公众号  · 前端  · 2017-09-25 22:58
(点击上方公众号,可快速关注)作者:伯乐在线/言己如有好文章投稿,请点击 → 这里了解详情解释:为什么 ++[[]][+[]]+[+[]] = 10[0]是一个带有0成员的数组,[0][0]是取它的第1个成员,所以必是0。用了[0][0] = '1'虽然改了第1成员的值,但下一个[0][0]是独立的取成员值的表达式,所以得到0数字值。[] = 1是右值不是iterable(可迭代的)造成的错误,这应该是”解构赋值”造成的错误,以不同的浏览器调试:// ChromeTypeError: undefined is not a function // FirefoxTypeError: 1 is not iterable // SafariTypeError: [] is not a function. (In '[]', '[]' is undefined)数组解构赋值的话,右值必需是iterable(可迭代的),下面的例子的错误与[] = 1是一样错误,所以应该会先检查右值是否为iterable时,先抛出类 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照