Javascript (!+[]+[]+![])结果背后的原因是什么
如前所述,该行:Javascript (!+[]+[]+![])结果背后的原因是什么,javascript,Javascript,如前所述,该行: (! + [] + [] + ![]) 结果给出字符串truefalse 我一直在用它做实验,但不能完全掌握发生的隐式转换,我想知道结果背后的原因 只是好奇 false => ![] true => !![] undefined => [][[]] NaN => +[![]] 0 => +[] 1 => +!+[] 2 =&
(! + [] + [] + ![])
结果给出字符串truefalse
我一直在用它做实验,但不能完全掌握发生的隐式转换,我想知道结果背后的原因
只是好奇
false => ![]
true => !![]
undefined => [][[]]
NaN => +[![]]
0 => +[]
1 => +!+[]
2 => !+[]+!+[]
10 => [+!+[]]+[+[]]
Array => []
Number => +[]
String => []+[]
Boolean => ![]
Function => []["filter"]
eval => []["filter"]["constructor"]( CODE )()
window => []["filter"]["constructor"]("return this")()
有关它的更多信息,请访问。这里有一些东西让那些没有深入研究的人感到困惑:Array.prototype.join=>1;!+[] + [] + ![];