7

私は最近、以下のようなソースからの式を見ました -

++[[]][+[]]+[+[]]

これを Chrome (Windows 7、バージョン 27.0.1453.94 m) コンソールに入力すると、"10".

誰かがここで何が起こっているのか説明できますか?

JSFiddle

4

3 に答える 3

2

この式は、yeld NaN、numbers、booleanundefinedなどの有効な Javascript 構造を文字列化します。

例えば

+[] -> 0  //The unary plus operator is applied to the result of toString applied to an empty array (which is an empty string)

!+[] -> true

この質問と、no alnum チート シートも参照してください。

于 2013-05-31T06:44:24.247 に答える