私の連絡先情報
郵便メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
フロントエンド JS のインタビューでよくある質問は、基本的な構文、データ構造とアルゴリズム、DOM 操作、非同期プログラミング、モジュール化、フレームワーク/ライブラリの使用法など、多くの側面をカバーしています。以下は、フロントエンド JS の面接でよく聞かれる質問とその簡単な分析です。
var
、let
、const
違いは何ですか?その範囲とライフサイクルは何ですか?i++
そして++i
違いは何ですか?break
そしてcontinue
ループ内で使用するとどのように異なりますか?push
、pop
、shift
、unshift
、splice
、slice
、join
、sort
待って)JSON.parse(JSON.stringify(obj))
、スプレッド演算子、再帰などのメソッド)Promise.all
そしてPromise.race
?import
/export
)、その利点は何ですか?this
さまざまなシナリオでのポインティング ルールとパフォーマンス。質問例:JavaScriptにおけるプロトタイプチェーンの仕組みを説明してください。
解析する:
__proto__
プロパティ (ES6 で推奨)Object.getPrototypeOf()
メソッド)、このプロパティはそのコンストラクターのprototype
属性。Object.prototype
)。null
、これ以上探すべきプロトタイプ オブジェクトがないことを示します。1. JavaScript のデータ型は何ですか?それらの違いは何ですか?
答え:
JavaScript には、基本データ型 (プリミティブ型) と参照データ型 (参照型) を含む 8 つのデータ型があります。
プリミティブ データ型と参照データ型の主な違いは、その保存方法と割り当て方法です。基本データ型の値はスタック メモリに格納され、値は代入中に直接コピーされますが、参照データ型の値はヒープ メモリに格納され、スタック メモリは値への参照 (つまりアドレス) を格納します。割り当て時にコピーされるヒープメモリ内が参照されます。
2. JavaScript のスコープとクロージャについて話しますか?
答え:
範囲 : コード ブロック内の変数や関数などの識別子の有効な範囲を指します。 JavaScript には主に、グローバル スコープとローカル スコープ (関数スコープ、ブロックレベル スコープなどを含む) の 2 つのスコープがあります。グローバル スコープの変数はスクリプト全体で表示されますが、ローカル スコープの変数は、それが定義されているコード ブロック内でのみアクセスできます。
閉鎖 : 関数がその字句スコープ外で実行された場合でも、関数がその字句スコープを記憶し、アクセスできることを意味します。クロージャの主な用途は、プライベート変数のカプセル化、モジュールの作成などです。クロージャを使用すると、関数は関数の外部の変数にアクセスして操作できるようになり、これらの変数は関数の外部であっても簡単に汚染されたり変更されたりすることはありません。
3. JavaScript での非同期プログラミングと Promise について説明しますか?
答え:
非同期プログラミング : コードの実行順序は書き込み順序に基づいておらず、特定の条件 (ネットワーク リクエスト、ファイルの読み書きなど) の完了に基づいて決定されることを意味します。 JavaScript はシングルスレッドですが、イベント ループとコールバック関数を通じて非同期プログラミングを実装します。
約束 : は ES6 で導入された新しいオブジェクトで、非同期操作を処理するために使用されます。 Promise オブジェクトは、今は完了しないかもしれないが、将来完了する (または失敗する) 操作とその結果値を表します。 Promise には、保留中 (進行中)、履行済み (成功)、および拒否済み (失敗) の 3 つの状態があります。 Promise を使用すると、非同期コードを同期的な方法で作成できるため、コードがより簡潔になり、理解しやすく、保守しやすくなります。
4. JavaScript でのイベント バブリングとイベント キャプチャについて話しますか?
答え:
イベントバブリング : イベントがターゲット要素から始まり、DOM ツリーの最上位 (つまり、ドキュメント オブジェクト) まで伝播することを意味します。イベントのバブリング プロセス中、任意のレベルの DOM 要素がイベントをキャプチャして処理できます。
イベントキャプチャ : イベント バブリングとは対照的に、イベント キャプチャは DOM ツリーの最上位から開始され、ターゲット要素まで伝播します。イベント キャプチャ プロセス中、任意のレベルの DOM 要素がイベントをキャプチャして処理できます。
JavaScript では、addEventListener メソッドの 3 番目のパラメーターを通じてイベント処理メソッドを設定できます。つまり、イベント バブリングまたはイベント キャプチャを使用します。 3 番目のパラメータが true の場合は、イベント キャプチャを使用することを意味し、false または省略された場合は、イベント バブリングを使用することを意味します。
5. ES6+ にはどのような新機能が導入されていますか?
答え:
ES6 (ECMAScript 2015) 以降のバージョンには、次のような多くの新機能が導入されていますが、これらに限定されません。