10 Javascript非常に基本的なインタビューの質問を知っている必要があります


This article is especially for beginners who are looking for Job as a Javascript Developer. I have searched a lot of Javascript interview questions and these 10 seem most important to me. Let's dig into this a bit.



1 . JavaScriptとは
JavaScriptはWeb開発に使用されるプログラミング言語です.JavaScriptはウェブのクライアント側で動作します.
MDN JavaScript(しばしばJSに短縮される)によると、軽量で、解釈されて、一流の機能をもつオブジェクト指向言語で、ウェブページのためにスクリプト言語として最も有名です、しかし、それは同様に多くの非ブラウザー環境で使われます.これは、プロトタイプベースの、マルチパラダイムスクリプト言語は、動的であり、オブジェクト指向、命令、および機能プログラミングスタイルをサポートします.

2 . DOMとは
DOMはドキュメントオブジェクトモデルを表します.Webページが読み込まれると、ブラウザはHTMLとCSSファイルを使用してDOMを作成します.DOMはノードと要素で表される.JavaScriptを使用してDOMを操作できます.それは木のような構造です.

JSコードの実行方法
インタビューで答えるのは少し大きな問題だ.しかし、我々は簡単に言うことができます.JavaScriptはブラウザで動作します.JavaScriptエンジンはほぼすべてのブラウザです.V 8はそれらの中で最も人気があります.クロムはV 8エンジンを使用します.一方、Firefoxはクモ猿エンジンを使用します.

4 = = = = =の間の違い
私がすぐに言うならば、= =が両方の値が同じかどうかチェックするだけです.これらの値の型をチェックしません.以下のコードをチェックしてください.
if(2=="2"){
 console.log("true")
} else {
console.log("false")
}
上記のコードはTRUEになります.2と2の両方を扱うので、それはタイプをチェックしません.
反対の== =両方のタイプと品質をチェックします.例えば:
if(2==="2"){
 console.log("true")
} else {
console.log("false")
}
これはfalseに記録されます.2と2は値で等しいので、それらは異なったタイプです.

5 . NULLと未定義
一般的に、NULLは空で存在しない値を意味します、未定義の間、未定義はまだ宣言されるが、まだ定義されない何かを意味します.明示的に変数に未定義を設定することもできますが.
var n;
console.log(typeof(n)); // undefined

var n = null;
console.log(typeof(n)); // object
興味深いことに、NULLはJSのオブジェクトタイプです.

6 . var vs let vs const
ES 6 varが変数を宣言する唯一の方法である前に.しかし、今我々はより多くのオプションがあります.
スコープとしての用語があります.スコープはこれらの変数が使用可能な場所を意味します.var宣言はグローバルスコープまたは関数/ローカルスコープです.
VARは、数秒後に話し合います.しかし、今では変数宣言のためにより望ましいです.コード内で変数を変更する必要がない場合はconstを使用できます.この違いを理解するには、次の記事を読むことができます.

巻上げ
JavaScriptでは、変数が宣言される前に使用できます.あなたのコードの上部に物理的に移動する変数と関数宣言の概念は、hoistingと呼ばれます.
console.log(num); // Returns undefined, as only declaration was hoisted, no initialization has happened at this stage
var num; // Declaration
num = 6; 
letとconst変数は巻上げませんか?答えはそれより少し複雑です.var宣言は未定義で初期化されますが、letとconst宣言は初期化されたままです.

8 .グローバル対ローカルスコープ
JavaScriptでは、スコープは2つの方法で分割されます.ローカルとグローバル.
関数で宣言された変数はローカルスコープと呼ばれます.この変数は関数の外部にアクセスできません.一方、関数の外部で宣言された変数はグローバルスコープと呼ばれます.関数の内部にアクセスできます.
var genre= "superhero" //global scope
// code here can't use superhero but genre
function myFunction() {
  var superhero = "Batman"; // local scope

  // code here CAN use superhero and genre

}

閉鎖
クロージャは、内部関数から外部関数のスコープへのアクセスを可能にします.関数から別の関数を返すことで作成できます.各インスタンスの環境を閉じます.例えば、
function sum(x) {
  return function(y) {
    return x + y;
  };
}

var add5 = sum(5);
var add10 = sum(10);

console.log(add5(6));  // 11
console.log(add10(6)); // 16
ここでadd 5とadd 10は両方ともクロージャです.彼らは同じ定義を共有しますが、異なる環境を保存します.クロージャについて詳しく知るには、以下のリンクをたどることができます.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures

コールバック関数
MDNによると、コールバック関数は引数として別の関数に渡され、外部関数の中で呼び出され、何らかの種類のルーチンやアクションが完了する.例えば
function greeting(name) {
  console.log('Hello ' + name);
}

function greetEmployee(name,callback) {

  callback(name);
}

greetEmployee("Dwight",greeting);
ここで挨拶関数はGreetEncoty関数の内部で使用されています.コールバック関数です.JSコールバックについてもっと把握するために、thisに従ってください.
これを読んでくれてありがとう.これはあなたを助ける願っています.
接触を保つ
ハッピーコーディング