latest log

酩酊状態で書いたエンジニアポエムです。酩酊状態で読んでください。

JavaScript クイズ

(ε・◇・)з さあみんな、クイズの時間だよ

問1. クォート( " と ' )を使わずに ["1"] を作ってみよう。


問2. 以下のコードはクロスブラウザでしょうか? YES / NO

[void 0, null, 0].sort(function() { return 0; });


(ε・◇・)з 珍回答ができたら @uupaa までー


答え合わせ

答1. 以下の3つが答えです。2番目の答えはボクも分かってませんでした。 @xulapp さんに教えていただきました

1. /1/.exec(1)
2. [1+[]]
3. /1/(1)      → http://d.hatena.ne.jp/uupaa/20091006/1254926477 (古いブラウザ限定)

答2. NO です。ブラウザ毎にバラバラです。この場合はES3の仕様上も不安定って事になってます(たしか)

問1. に寄せられた正解と珍回答の数々~

@xulapp さんは、誰よりも先に正解2つを即答されました。(ε・◇・)з すげーー!
/1/.exec(1)
[1+[]]

@tkihira さんも2つとも正解です!
[[]+1]
/1/.exec(1)
[(1+/x/)[0]]
[[1].join()]
[String(1)]

@teramako さんはさすがです EX4 使うとか発想が凄いです
Object.keys({1:1})
Object.keys([,1])   -> すげぇ
<>1</>.split()
[<>1</>+[]]
[1..toString()]
[String(1)]

@nazomikan さん、[[1].join()] には他にも3~4名の方がたどり着きました
[[1].join()]

@mstssk さんも正解です!
[1+[]]
[(1+[])]
[+!+[]+[]]   → 記号!記号!

@okuryu さん
Array(String(1))
[String(1)]

@nanto_vi さんの珍回答はちょっと凄いです
String.prototype.split.call(1)   -> なんじゃこりゃー
[i for (i in [, 0])]             -> すげぇ
[1 + String.prototype]           -> すげぇ

@ofk さんも正解です!
/./.exec(1)
[/1/.source]
1..toString().split()
[1..toString()]

(ε・◇・)з 皆様ありがとうございました~

広告を非表示にする