現在、JavaScript と Web 開発を学んでいる人がたくさんいますが、彼らは皆、それをベースにした仕事に就くことを望んでいます。ただし、独学では、JavaScript 言語自体の理解において学習者の盲点が残ることがよくあります。
実際、複雑な Web ページを作成するために言語のほんの少しの知識を習得するだけで済むのは驚くべきことですが、これでは通常、JavaScript の基本を十分に習得することはできません。
基本的なスキルを使用して機能を実装し、複雑な要件を回避することは非常に簡単です。また、コピーされたコードを理解せずに Stack Overflow に依存して Web サイトを作成することも非常に簡単です。
しかし、問題は、多くのテクノロジー企業が面接で質問するとき、その目的は JavaScript を本当に理解しているかどうかをテストすることです。候補者が JavaScript についての深い理解ではなく、表面的な知識しか持っていない場合、面接官は何が起こっているのかをすぐに理解します。
Web 開発の面接で使用される一般的な概念をいくつか紹介します。もちろん、ループ、関数、コールバックなどの基本概念をすでに理解していることを前提としています。
オブジェクト、配列、関数がどのようにコピーされ、関数に渡されるかを理解します。参照値がコピーされる内容を理解し、値をコピーすることで元の値がコピーされて渡されることを理解します。
グローバル スコープ、関数スコープ、ブロックレベル スコープの違いを理解します。変数が利用可能な場所を理解し、JavaScript エンジンが変数検索を実行する方法を理解します。
変数と関数の宣言は、それらが宣言されているコンテキスト、つまり、変数が宣言された場所に関係なく、ホイストされることを認識してください。スコープの先頭ですが、変数の初期化の順序は変わりません。関数式はプロモートされないことに注意してください。
関数がその中に作成されたフィールドへのアクセスを保持していることを認識すると、データの隠蔽、メモ化、動的関数の生成などが可能になります。
このバインディングのルールを理解します。それがどのように機能するかを理解し、それが関数内で何と同等であるかを判断する方法を知り、それがなぜ役立つのかを認識します。
それがオブジェクト指向プログラミングにどのように関連しているかを認識します。 new 経由で呼び出された関数に何が起こるかを理解します。 new を使用して関数のプロトタイプ プロパティから を継承するオブジェクトがどのように生成されるかを理解します。
7. apply、call、bind これらの関数の仕組みと使用方法を理解します。彼らがこれに対して何をしているのか理解してください。 8. プロトタイプと継承 JavaScript の継承は [[Prototype]] チェーンを通じて機能することを理解します。関数とオブジェクトを通じて継承がどのように設定されるか、またこれを実現するために new がどのように役立つかを理解します。 __proto__ プロパティとプロトタイプ プロパティの概要とその機能について説明します。 9. 非同期 JS (非同期 JS) イベント ループと、ブラウザーがユーザー入力、Web リクエスト、および一般的なイベントを処理する方法を理解します。非同期コードを認識し、正しく実装する方法を理解します。 JavaScript における非同期スレッドとシングルスレッドとは何かを理解します。 .10. 高階関数 これらの関数は JavaScript のファーストクラス オブジェクトであり、それが何を意味するのか、また別の関数から関数を返すことは完全に合法であることを理解してください。クロージャと高階関数のテクニックを理解することで、使用できるようになります。 何か追加することはありますか?コメント欄でみんなと共有してください~上記の内容は、10 人の JavaScript 開発者全員が知っておくべき概念です。 関連する推奨事項:10 の興味深い JavaScript および CSS ライブラリ
以上がすべての JavaScript 開発者が知っておくべき 10 の概念の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。