///*〜*/var
let
varの改良版const
_(アンダースコア)、$(ダラー)、数字Boolean(真偽値):trueまたはfalseNumber(数値)BigInt(巨大な整数)String(文字列)undefined:値が未定義null:意図的な「値なし」Symbol(シンボル):一意で不変な値(一度作成したらその値自体を変更できない)NaN:
NaNになるNaN !== NaNが真(自分自身と等しくない).isNaNメソッド:NaNかどうかの判定objectnullはobjectfalseとみなされる値
false0""(空文字)nullundefinedNaNtruefalse0bまたは0Bの後ろ0oまたは0Oの後ろ0xまたは0Xの後ろ
b. 浮動小数点数リテラル.(ドット)を含んだ数値eまたはEを含んだ数値
e(exoinent)の後に指数部の値を書く2e3=2*10^3Number.MAX_SAFE_INTEGER(倍精度浮動小数で正確に扱える最大値、2^53-1)より大きな整数を扱えるnをつける_を追加できる(例:1_000_000)
" ", ' '(両者は全く同じ意味)
b. テンプレートリテラル:\ ``
${変数名}で変数の値を埋め込めるnull値を代入することで値がないことを表現undefinedはリテラルではなくグローバル変数なので、同じ名前のローカル変数を宣言できるconst obj = {
"key": "value"
}
Symbolプロパティ名:オブジェクトが持つキーのこと
objのkeyプロパティの参照
a. ドット記法:obj.key(プロパティ名が識別子である必要がある)
b. ブラケット記法:obj["key"][]でArrayオブジェクトを作成array[index]で参照/で正規表現のパターン文字列を囲むconst str = new String("文字列")++-*/(0で除算するとinfinity)%**(Math.powメソッドも同じ動作をする)+
+1, +"1")NaNに変換-
-"1")NaNになるため、文字列から数値の変換に使うべきではない++
num++(+1する前の値を返す)++num(+1した後の値を返す)--
num--(-1する前の値を返す)--num(-1した後の値を返す)===
trueを返すtrueを返す!==
trueを返す==
===を使い、異なる型を比較するときは明示的に型を合わせるべきnullとundefinedの比較は==を使う!=
!==を使い、異なる型を比較するときは明示的に型を合わせるべき>>=<<=&|^~<<
>>
>>>
>>と異なり、0のビットを左から詰める=const array = [1, 2];
const [a, b] = array; //a=1, b=2
const obj = {"key": "value"};
const {key} = obj; //key = "key"
&&
trueならば右辺の評価結果を返すfalseならばそのまま左辺の値を返す(短絡評価)||
falseならば右辺の評価結果を返すtrueならばそのまま左辺の値を返す(短絡評価)!
??
nullishであるならば、右辺の評価結果を返すnullish:評価結果がnullまたはundefinedとなる値?, :条件式 ? Trueのとき処理する式 : Falseのとき処理する式(, ),,で区切った式を左から順に評価し、最後の式の評価結果を返すBooleanコンストラクタ関数(Boolean(値))によって変換falseへ変換されるStringコンストラクタ関数(String(値))によって変換joinメソッド、オブジェクトにはJSON.stringfy静的メソッドなどがより適切+で繋いでも文字列にはならず、エラーになるStringコンストラクタ関数により明示的に文字列化するNumberコンストラクタ関数(Number(値))によって変換Number.parseInt(文字列, 基数), Number.parseFloat(文字列):
NaNを返すため、NaNになった場合の処理を書く必要がある