我的问题是关于以下表达式的布尔验证。
如果您在JS控制台中运行(!+[]+[]+![])
,则会返回“ truefalse”。
这怎么可能?这种逻辑如何工作?
答案 0 :(得分:0)
第一部分!+[]
返回true
作为布尔值。第二部分[]+![]
是"false"
作为String。将布尔值与String串联可以将结果转换为字符串,并在"truefalse"
末尾给出。
这里为JSFuck提供了深入的解释 https://github.com/aemkei/jsfuck#how-it-works