The 'Wat' berbicara untuk CodeMash 2012 pada dasarnya menunjukkan sebuah kebiasaan aneh beberapa dengan Ruby dan JavaScript.
Saya telah membuat JSFiddle dari hasil di http://jsfiddle.net/fe479/9/ .
Perilaku khusus untuk JavaScript (karena saya tidak tahu Ruby) tercantum di bawah ini.
Saya menemukan di JSFiddle bahwa beberapa hasil saya tidak sesuai dengan yang ada di video, dan saya tidak yakin mengapa. Namun saya ingin tahu bagaimana penanganan JavaScript di belakang layar dalam setiap kasus.
Empty Array + Empty Array
[] + []
result:
<Empty String>
Saya cukup ingin tahu tentang +
operator ketika digunakan dengan array dalam JavaScript. Ini cocok dengan hasil video.
Empty Array + Object
[] + {}
result:
[Object]
Ini cocok dengan hasil video. Apa yang terjadi di sini? Mengapa ini sebuah objek? Apa yang dilakukan +
operator?
Object + Empty Array
{} + []
result:
[Object]
Ini tidak cocok dengan video. Video menunjukkan bahwa hasilnya adalah 0, sedangkan saya mendapatkan [Objek].
Object + Object
{} + {}
result:
[Object][Object]
Ini juga tidak cocok dengan video, dan bagaimana cara menghasilkan variabel menghasilkan dua objek? Mungkin JSFiddle saya salah.
Array(16).join("wat" - 1)
result:
NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
Melakukan wat + 1 menghasilkan wat1wat1wat1wat1
...
Saya menduga ini hanya perilaku langsung yang mencoba mengurangi angka dari hasil string di NaN.
Array(16).join("wat" - 1) + " Batman!"
{} + {}
.