zoukankan      html  css  js  c++  java
  • ([] + {}).length的结果是多少

    最近加一个技术学习群,群的问题就是这个,很有意思。

    我当然直接在控制台里去打印看下结果了

    在sf里有人给了解释:

    ([]).length --> 空数组的length是0

    ({}).length --> {}是一个空对象,这个对象是没有length 方法的所以是undefined

    ([] + {}).length --> 实际这两个是不能用操作符"+"的,这个表达式实际是分别调用了[]和{}的toString()方法。[]返回空字符串"",而{}返回"[object Object]",这两个字符串拼在一起刚好是15个字符的一个字符串。

    可以这样验证:
    ([]).toString() // ""
    ({}).toString() // "[object Object]"
    ([]+{}) // "[object Object]"

    "[object Object]"转换成了字符串长度是15.

  • 相关阅读:
    线程高并发
    29(套接字)就是网络编程
    28线程
    27 枚举
    26静态导入和可变参数
    25JDK新特性
    25断言 assert关键字
    24单元测试 junit
    炫酷CSS
    PHP 汉字转拼音类
  • 原文地址:https://www.cnblogs.com/zhangmingzhao/p/7887895.html
Copyright © 2011-2022 走看看