盘点一下Javascript的那些隐式转换

JavaScript 产生于1992年 设计者 Brendan Eich

如果不是公司的决策,Brendan Eich 称绝不可能把 Java 作为 Javascript 设计的原型。

作为设计者,他一点也不喜欢自己的这个作品:

"与其说我爱 Javascript,不如说我恨它。它是 C 语言和 Self 语言一夜情的产物。

十八世纪英国文学家约翰逊博士说得好:'它的优秀之处并非原创,它的原创之处并不优秀。' (the part that is good is not original, and the part that is original is not good.)"

JS 的数据类型: Number Boolean String Undefined Null Symbol(es6新定义的)和 ObjectArray 是特殊的 Object

typeof 返回的7中类型:number boolean string object undefined object function

"一夜情的产物": JS 类型相加会有什么意想不到的事情呢?

你可以尝试在浏览器的 Console 中输入

> (!(~+[])+{})[--[~+""][+[]]*[~+[]]+~~!+[]]+({}+[])[[~!+[]*~+[]]]
< sb

神奇的还在后边:

微信图片_20190313101238.jpg

这些隐式转换, 给开发者多多少少都会带了一些不便.
尽管如此, js 依然非常优秀

我来吐槽

*

*

已有 4 条评论

  1. shansan

    花里胡哨的,可以炒了😅

  2. YuYe

    这就是头疼的地方🤣

    1. Hoe

      TypeScript应该就不存在这种烦恼了

  3. 丘八

    文章不错,非常喜欢