JavaScript は、豊富な機能を備えた多用途言語です。初心者でも上級開発者でも、これらの概念をマスターすると、効率的で堅牢なコードを作成するのに役立ちます。以下は、JavaScript の主要なトピックと機能の包括的な概要です:
変数とデータ型
変数の宣言
-
var: 関数スコープであり、再宣言およびホイストできます。
-
let: ブロックスコープであり、同じブロック内で再宣言することはできません。
-
const: ブロックスコープの不変参照 (オブジェクトの場合でも値は変更可能です)。
プリミティブ型
-
文字列、数値、ブール値、null、未定義、シンボル、bigint。
参照型
制御構造
-
if、else、else if: 条件付き実行。
-
switch: 複数の条件の構文を簡素化しました。
ループ
-
for、while、do-while: 反復タスク用。
-
for…of: 配列や文字列などの反復可能なオブジェクトを反復します。
-
for…in: オブジェクトのプロパティを反復処理します。
機能
関数の種類
-
関数宣言:
function greet() { console.log("Hello!"); }
-
関数式:
const greet = function() { console.log("Hello!"); };
-
アロー関数:
const greet = () => console.log("Hello!");
高度な概念
(function() { console.log("IIFE!"); })();
-
高階関数: 他の関数を引数として受け取るか、それらを返す関数。
-
コールバック関数: 非同期またはイベント駆動の動作の引数として渡される関数。
約束
Promise は非同期操作の処理に使用されます。
主な方法:
-
Promise.all(): すべての Promise が解決されると解決されます。
-
Promise.resolve(): 解決された Promise を返します。
-
Promise.then(): 解決された値を処理します。
-
Promise.any(): 最初に満たされた Promise で解決されます。
-
Promise.race(): 最初の Promise を解決/拒否して解決します。
-
Promise.reject(): 拒否された Promise を返します。
非同期/待機
同期的に見える非同期コードを記述するための Promise よりも構文上の糖衣。
閉鎖
クロージャは、親関数が戻った後でも親スコープへのアクセスを保持する関数です。
function greet() { console.log("Hello!"); }
範囲とホイスト
スコープの種類
-
グローバル スコープ: どこからでもアクセスできる変数。
-
関数スコープ: 関数内で宣言された変数。
-
ブロックスコープ: ブロック内で let と const で宣言された変数。
吊り上げ
- var で宣言された変数はホイストされますが、未定義として初期化されます。
- 関数宣言はその定義とともにホイストされます。
イベントループとタスクキュー
-
イベント ループは、タスク キュー (マクロタスク) または マイクロタスク からコール スタックにタスクを移動することにより、非同期コードの実行を管理します。
高度な概念
デバウンスとスロットリング
-
デバウンス: イベントの一時停止が終わるまで実行を遅らせます。
-
スロットリング: 指定された間隔で 1 回だけ実行されるようにします。
カレー
複数の引数を持つ関数を、それぞれ 1 つの引数を取る一連の関数に変換します。
組み込みメソッド
配列メソッド
- 配列の変更: Push()、pop()、shift()、unshift()、splice()。
- 非変更メソッド:map()、filter()、reduce()、forEach()。
オブジェクトメソッド
-
Object.keys()、Object.values()、Object.entries().
-
Object.assign()、Object.freeze()、Object.seal().
文字列メソッド
-
charAt()、includes()、slice()、split()、trim()。
日付メソッド
-
Date.now()、getDate()、getMonth()、setFullyear().
プロトタイプとクラス
プロトタイプ
- すべての JavaScript オブジェクトにはプロトタイプがあり、継承が可能です。
- プロトタイプ チェーンを理解することは、オブジェクト指向 JavaScript にとって非常に重要です。
クラス
- ES6 では、プロトタイプではなく構文糖としてクラス構文が導入されました。
- 機能には、コンストラクター、継承、ゲッター/セッター、静的メソッドが含まれます。
エラー処理
-
try...catch...finally: ランタイムエラーをキャッチするため。
-
カスタム エラー: エラー処理を改善するためにエラー クラスを作成します。
イベント処理
- イベント リスナーの追加: addEventListener().
- デフォルトの動作の防止:event.preventDefault().
- 効率的な DOM 操作のためのイベント委任。
最新の JavaScript 機能
function greet() { console.log("Hello!"); }
const greet = function() { console.log("Hello!"); };
const greet = () => console.log("Hello!");
その他のトピック
-
LocalStorage および SessionStorage: クライアント側のデータ永続化用。
-
正規表現 (RegExp): 文字列内のパターン マッチング。
-
ジェネレーター: 値を遅延して生成する関数。
-
JavaScript プロキシ: 基本的な操作をインターセプトして再定義します。
-
WeakMap と WeakSet: メモリ管理用に最適化されています。
-
Service Worker: PWA のオフライン機能を有効にします。
-
JSON: API 用のデータの解析と文字列化。
このガイドでは JavaScript の幅広いトピックをカバーしようとしていますが、探索すべきことは常にあります。見逃した機能がある場合、またはさらに詳細が必要な場合は、お気軽にフィードバックを共有してください。
以上がJavaScript の機能と概念に関する究極のガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。