JavaScriptの手引き
JavaScriptの変な仕様まとめです
いつ使うんだこんな知識
コードの読み方
別ファイル
/*-----*/
戻り値もしくは出力結果
//戻り値もしくは出力結果
コード集
文字は配列
"Hello"[0]//H
varとletの違い
console.log(a);//undefined
var a;
/*-------*/
console.log(a);//ReferenceError
let a;
/*-------*/
"use strict";
console.log(a);//undefined
var a;
false判定
下記の例は全て1が帰ってくる
+!false
+!0
+!''
!!undefined
!!null
Object判定
+[] //0
+{} //NaN
NaNの判定
Object.is(NaN, NaN); // true
NaN === NaN; // false
-0の判定
Object.is(-0, 0); // false
-0 === 0; // true
文字列のfalseの取得
![] + [].toString()// 'false'
省略trueとfalse
!0 //true
!1 //false
省略undefined
void 0 //undefined
trueは1
true + true //2
+true; //1
1 == true; //true
nullとObjectの関係
typeof []; // 'object'
typeof null; //'object'
null instanceof Object; // false
連続する数値の比較の罠
1 < 2 < 3; // true
3 > 2 > 1; // false
処理の順番
左から評価される
1 < 2 < 3; // 1 < 2 = true
true < 3; // true = 1
1 < 3; // true
3 > 2 > 1; // 3 > 2 = true
true > 1; // true = 1
1 > 1; // false
ガバガバ計算
'2' + [1] //21
'2' - [1] //1
[2] + [1] //21
[2] - [1] //1
[2] * [2] //4
{} + [] //0
nullはO以下でも0以上でも0でもない
null > 0; //false
null < 0; //false
null == 0; //false
null === 0; //false
null >= 0; //true
null <= 0; //true
+null //0
-null //-0
開拓中
こんな書き方あるよってやつあったらお願いします
Twitter
Discord(Riya#2210)
↧