目次
- const
- let
- var
大文字と小文字は区別される。変数名はa~z @とか。使える文字が限定
JavaScript の識別子は必ず文字、アンダースコア (_)、あるいはドル記号 ($) から始まらなくてはなりません。続く文字には数字 (0–9) も使用できます。
JavaScript は大文字・小文字を区別するため、使用できる文字には "A" から "Z" (大文字) に加えて "a" から "z" (小文字) も含まれます。
1. const - スコープを持つ、再宣言の禁止
ブロックスコープで読み取り専用の名前付き定数を宣言する。
const box = { data: 100, move: function() { return this.data; }, }; console.log(box.move()); // expected output: 100
2. let - スコープを持つ
ブロックスコープのローカル変数を宣言し、ある値に初期化することもできる。
あ
3. var - スコープを持たない
変数を宣言し、ある値に初期化することもできる。
あ
7. KnotTextでのECMAScriptの分類
参考:MDN Web DocsでのECMAScriptの分類
7-1. グローバルオブジェクトのプロパティ(JavaScriptの実行環境がWebブラウザーの場合)
7-1-1. グローバルオブジェクトの値プロパティ
- window.globalThis
- window.Infinity
- window.NaN
- window.undefined
7-1-2. グローバルオブジェクトの関数プロパティ
- window.isFinite()
- window.isNaN()
- window.parseFloat()
- window.parseInt()
- URIハンドリング関数
- window.decodeURI()
- window.decodeURIComponent()
- window.encodeURI()
- window.encodeURIComponent()
7-1-3. グローバルオブジェクトのコンストラクタープロパティ
コンストラクターとは、「オブジェクトを作成する能力を持たせた」関数で、「new」演算子によってオブジェクトインスタンスを作成することができる。
プリミティブデータ型のラッパーオブジェクト | |
---|---|
真偽値 | window.Boolean() |
文字列 | window.String() |
数値 | window.Number() |
window.BigInt() | |
シンボル | window.Symbol() |
オブジェクトのためのオブジェクト |
---|
window.Object() |
関数のためのオブジェクト | |
---|---|
window.Function() | |
関数のより高度なオブジェクト | window.GeneratorFunction() |
window.Generator() | |
window.AsyncFunction() | |
window.Promise() |
配列のためのオブジェクト | ||
---|---|---|
window.Array() | ||
配列のより高度なオブジェクト | window.ArrayBuffer() | |
window.DataView() | ||
window.SharedArrayBuffer() | ||
型付き配列のためのオブジェクト | window.Int8Array() | window.Int16Array() |
window.Uint8Array() | window.Uint16Array() | |
window.Uint8ClampedArray() | ||
window.Int32Array() | window.BigInt64Array() | |
window.Uint32Array() | window.BigUint64Array() | |
window.Float32Array() | window.Float64Array() |
日付・時刻のためのオブジェクト |
---|
window.Date() |
正規表現のためのオブジェクト |
---|
window.RegExp() |
エラーのためのオブジェクト | |
---|---|
window.Error() | window.EvalError() |
AggregateError | |
InternalError | |
window.RangeError() | |
window.ReferenceError() | |
window.SyntaxError() | |
window.TypeError() | |
URIError |
Managing Memory |
---|
window.WeakRef() |
Reflection |
---|
window.Proxy() |
7-1-4. グローバルオブジェクトのその他のプロパティ
Atomics |
---|
window.Atomics() |
JSON |
---|
window.JSON() |
Math |
---|
window.Math() |
Reflect |
---|
window.Reflect() |
7-2. ECMAScriptの演算子「計算・論理・代入」
7-2-1. ECMAScriptの演算子「計算」
7-2-2. ECMAScriptの演算子「論理」
7-2-3. ECMAScriptの演算子「代入」
7-3. ECMAScriptのステートメント
block ステートメント | ブロックを作る | |
---|---|---|
if ステートメント(else) | 条件を作る | |
イテレーションステートメント | do-while ステートメント | 必ず1回は実行されるwhileステートメント |
while ステートメント | 条件を満たすまで繰り返す | |
for ステートメント | 指定した回数まで繰り返す | |
for-in ステートメント | オブジェクトのためのforステートメント | |
for-of ステートメント | 配列状のオブジェクト全般のためのforステートメント | |
for-await-of ステートメント | Promiseオブジェクトのためのfor-ofステートメント | |
continue ステートメント | 繰り返しの処理をスキップして次の繰り返しへ進む | |
break ステートメント | 繰り返し・ラベル・switchステートメントの処理を中断してステートメントから抜け出す | |
switch ステートメント(case, default) | 条件に一致するcaseを実行する | |
throw ステートメント | 関数の中で例外を発生させ、catchが存在すればcatchに移行する。 | |
try ステートメント(catch, finally) | catchのためのfinallyでtryする? |
7-4. オブジェクトのためのパーツ
instanceof | オブジェクトが自身のプロトタイプにコンストラクタのprototype プロパティを持っているか判別する |
---|---|
new | new 演算子を使用すると、開発者はユーザー定義のオブジェクト型やコンストラクタ関数を持つ組み込みオブジェクト型のインスタンスを作成することができる |
delete | オブジェクトからプロパティを削除する |
in | 指定されたプロパティが指定されたオブジェクトにある場合にtrueを返す |
super | オブジェクトの親の関数を呼び出すために使用できる |
プロパティアクセッサー | オブジェクトのプロパティにアクセスする2種類の方法(ドット表記法、ブラケット表記法) |
オブジェクトリテラル | Object initializerによって作成するオブジェクト |
7-5. 配列のためのパーツ
配列リテラル | [a, b] = [1, 2] 代入 = [] 配列をつくる 配列リテラル 「配列」オブジェクト 配列初期化 Array()でも可 |
---|
7-6. 関数のためのパーツ
function | キーワード いわゆるexpression 関数を作成する |
---|---|
return ステートメント | |
this | [関数] キーワード |
function* | [ジェネレータオブジェクトを返す、ジェネレータ関数を定義] |
yield(yield*) | ジェネレータ関数 キーワード |
async function | キーワード 非同期関数 |
await | Promiseオブジェクト 非同期関数内のみ |
class(extends) | いわゆるexpression ECMAScript 2015~のclass定義 |
7-7. その他のパーツ
use strictモード | |
---|---|
,(comma) 演算子 | それぞれの演算対象を(左から右に)評価し、最後のオペランドの値を返します。これにより、複数の式が評価される複合式を作成することができ、複合式の最終値はそのメンバー式の一番右端の値となります。これは、for ループに複数の引数を提供する場合によく使用されます。 |
typeof 演算子 | 対象の値のデータ型を返す |
void 演算子 | 必ずundefinedを返す |
?.(Optional chaining) 演算子 | 接続されたオブジェクトチェーンの深くに位置するプロパティの値を、チェーン内の各参照が正しいかどうかを明示的に確認せずに読み込むことを可能にします。 |
labeled ステートメント | ラベル付け? |
import | |
export |