盘点一下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

神奇的还在后边:

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

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

原文来自:
https://www.hoehub.com/JavaSc...

相关推荐