はじめてのひき - JSSucks Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
! 加算
d8> []+[]
d8> []+{}
[object Object]
d8> {}+[]
0
d8> {}+{}
NaN
これ解説サイトあったと思うけど、なにで検索すりゃ出てくるかな…
! 加減算
d8> '1'+1-1
10
地味だけど、足したあと同じものひいて結果変わるってので、好きなコード。
! parseInt
d8> parseInt(1/0,20)
18
d8> parseInt(!1,16)
250
元ネタはコレ。
http://stackoverflow.com/questions/11340673/why-does-parseint1-0-19-return-18
ふたつ目は中途半端に大きな数字がポンと出てくる方がいいかな…って自分で作ったバージョンだけど、元ネタの方が 1/0 が登場するあたりで良いかも…
第二引数の話でいうと
> ['1', '1', '1'].map(parseInt)
[ 1, NaN, 1 ]
このコメントが秀逸: https://twitter.com/mage_1868/status/770555953619931137
! false
d8> new Boolean(false) ? 1 : 0
1
! return
d8> eval("(function(){return 42})()")
42
d8> eval("(function(){return\n 42})()")
d8> eval("(function(){return 1 \n+ 42})()")
43
! 配列の値
js> [] < 2
true
js> [2] < 2
false
js> [2,2] < 2
false
js> [].push(2) < 2
true
js> [2].push(2) < 2
false
d8> []+[]
d8> []+{}
[object Object]
d8> {}+[]
0
d8> {}+{}
NaN
これ解説サイトあったと思うけど、なにで検索すりゃ出てくるかな…
! 加減算
d8> '1'+1-1
10
地味だけど、足したあと同じものひいて結果変わるってので、好きなコード。
! parseInt
d8> parseInt(1/0,20)
18
d8> parseInt(!1,16)
250
元ネタはコレ。
http://stackoverflow.com/questions/11340673/why-does-parseint1-0-19-return-18
ふたつ目は中途半端に大きな数字がポンと出てくる方がいいかな…って自分で作ったバージョンだけど、元ネタの方が 1/0 が登場するあたりで良いかも…
第二引数の話でいうと
> ['1', '1', '1'].map(parseInt)
[ 1, NaN, 1 ]
このコメントが秀逸: https://twitter.com/mage_1868/status/770555953619931137
! false
d8> new Boolean(false) ? 1 : 0
1
! return
d8> eval("(function(){return 42})()")
42
d8> eval("(function(){return\n 42})()")
d8> eval("(function(){return 1 \n+ 42})()")
43
! 配列の値
js> [] < 2
true
js> [2] < 2
false
js> [2,2] < 2
false
js> [].push(2) < 2
true
js> [2].push(2) < 2
false