6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

JavaScriptAdvent Calendar 2022

Day 8

【JavaScript】演算子「+」を理解したい

Last updated at Posted at 2022-12-07

題材

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")
そのうちそれを別で記事にするかも。

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?