javascript - Javascript 布尔验证
问题描述
我的问题是关于以下表达式的布尔验证。
如果您(!+[]+[]+![])
在 JS 控制台中运行,它会返回“truefalse”。这怎么可能?这个逻辑是如何工作的?
解决方案
第一部分作为布尔值!+[]
返回。true
第二部分[]+![]
是"false"
字符串。将 Boolean 与 String 连接会将结果转换为字符串,并在最后为您提供"truefalse"
。
这里提供了对 JSFuck 的深入解释 https://github.com/aemkei/jsfuck#how-it-works
推荐阅读
- git - 在 git 的版本控制下打包一个目录
- vim - vim 语法 - 如何突出显示区域内的匹配项
- javascript - JavaScript - 链接承诺未按顺序运行
- python - 在 Google Cloud 上将 Kafka 暴露给外部网络的问题
- python - rasa.core.processor - 运行操作时遇到异常
- python - 为什么 Python 不使 list/tuple/dict/set 通用?
- octoprint - 没有互联网/无法在 OctoPrint 上安装插件
- apache-kafka - Kafka手动删除名称中带有特殊字符的主题
- powerbi - 如果是第一个日期或最后一个日期,则使用一个聚合;如果其他任何一天,使用另一个聚合
- laravel - 未调用 Laravel 授权策略