題材
JavaScriptの「+」の用途
なんか使い方が色々あるらしいですね……
単項プラス演算子
- オペランド(被演算子)の前につけて使う
- オペランドをNumber型に変換する。
+"100" // 100
+"abc" // NaN
+true // 1
+false // 0
+null // 0
算術加算演算子
- 2項演算子
- 左右が両方Number型なら左右の値の和を生成
- そうでないなら、両方をStringに変換して連結文字列を生成
12345 + 54321 // 66666
"abc" + "de" // "abcde"
"DECO*" + 27 // "DECO*27" 片方がNumberでも両方がNumberでないなら文字列結合
インクリメント
- 1を足す
- 前置と後置で動作が変わる
var x = 1;
var y = x++;
console.log([x,y]) // >>> [2,1]
var x = 1;
var y = ++x;
console.log([x,y]) // >>> [2,2]
遊び散らかしてみる
-
![]
がfalse
、!![]
がtrueなので、+![]
が0
、+!![]
が1
になる -
(+!![]) + (+!![]) + (+!![]) + ……
と繰り返すことで任意の自然数を表せる
この調子でやっていくと+![]()
の6種だけでJavaScriptのあらゆるコードがかけるらしい。("JSF**k")
そのうちそれを別で記事にするかも。