标签类型转换下的文章

刘涛 发布于 01月02, 2017

JavaScript中的隐式类型变换

其实写这篇文章的起因是一道比较老的题目,在控制台直接打印++[[]][+[]]+[+[]]会输出10,原因是什么?直接搜索就会找到一大堆解释。

刚开始看到这道题我也比较懵,仔细看看,就会发现还是比较明了的。原本就这么过去了,昨天看到月影大大写了一篇关于为什么[]是false而!![]是true的文章,今天偶然在知乎上看到一个利用JavaScript隐式类型变换来输出各种字母的帖子,还找到了一个利用[]()!+六个字符写出任何JavaScript代码的github项目(这是一个很老的项目,自己太孤陋寡闻了吧)。发现自己还有很多地方理解不透,所以在此写一篇文章来总结、记录、分享一下。

首先至少你要知道JavaScript中原本就有六种数据类型,UndefinedNullBooleanStringNumberObjectES6中引入了一种新的数据类型Symbol,所以一共有七种。

阅读全文 »