50の最もよく聞かれるJavascriptインタビューの質問と回答[2022]

公開: 2021-01-04

目次

Javascriptインタビューの質問と回答

この記事では、最もよくあるJavaScriptインタビューの質問をまとめました。 これらの質問は、面接官が面接中に尋ねる可能性のある質問の種類についての知識を提供します。
JavaScriptは、Web開発で非常に役立つスクリプト言語です。 ブレンダンアイクは1995年にJavaScriptを開発し、FacebookやGoogleなどの巨人によって使用されています。 JavaScriptの多様性を理解することはまったく不可能です。 面接官は、約束の手紙を渡す前に、常に将来の従業員の知識を測ろうとしています。

したがって、JavaScriptの知識を磨くことが不可欠です。 面接に行くかどうかを面接官が尋ねることができるJavascript面接の質問のいくつかを次に示します。

javascriptの面接の質問と回答は、次の3つのカテゴリに分類されています。

  • ビギナーのレベル
  • 中間レベル
  • 上級レベル

Javascriptインタビューの質問と回答–初心者レベル

Q1。 JavaScriptとJavaはどのように違いますか?

Javascriptは、オブジェクト指向プログラミングまたはOOPスクリプト言語です。 Javaはオブジェクト指向プログラミングまたはOOPプログラミング言語です

JavaScriptはブラウザでのみ実行できます。 Javaは、ブラウザまたは仮想マシンで実行できるアプリケーションの作成に役立ちます。

JSはテキスト形式で表示されます。 Javaにはコンパイルが必要です

Q2。 JavaScriptとは何ですか?

JavaScriptは、オブジェクト指向機能を備えた軽量でインタプリタされたプログラミング言語です。 インタラクティブ性を静的なHTMLページに発展させるのに役立ちます。

Q3。 JavaScriptはどのデータ型をサポートしていますか?

JavaScriptがサポートするデータ型は次のとおりです。

  • ブール値
  • ヌル
  • ストリング
  • 未定義
  • シンボル
  • 物体
  • 番号
    javascript-データ型

Q4。 JavaScriptのさまざまな機能は何ですか?

  • Javascriptは、軽量でインタプリタされたプログラミング言語です。
  • ネットワーク中心のアプリケーションを作成するように設計されています。
  • これはJavaを補完し、Javaと統合されています。
  • JavaScriptは、クロスプラットフォームでオープンなスクリプト言語です。

Q5。 JavaScriptでは大文字と小文字が区別されますか?

はい、JavaScriptでは大文字と小文字が区別されます。

Q6。 JavaScriptにはどのような利点がありますか?

いくつかの利点は次のとおりです。

  • サーバーとのやり取りが少ない:JavaScriptを使用すると、ページをサーバーに送信する前に、ユーザーベースの入力を検証できます。
  • 訪問者への即時フィードバック:訪問者は、ページがリロードされる前であっても、何かを入力し忘れたかどうかをすぐに知ることができます。
  • 対話性の向上:JavaScriptを使用すると、ユーザーがそれらの上にマウスを置くか、キーボードを使用してそれらをアクティブ化すると反応できるさまざまなインターフェイスを作成できます。

Q7:JavaScriptを使用してオブジェクトを作成するにはどうすればよいですか?

JavaScriptはオブジェクト指向プログラミングスクリプト言語であるため、オブジェクトの概念をサポートしています。 オブジェクトリテラルを使用すると、オブジェクトを作成できます。

Q8。 JavaScriptを使用して配列を作成するにはどうすればよいですか?

JavaScriptで配列を定義する場合は、配列リテラルを使用して定義できます。 例:

var x = [];

var y = [1、2、3、4、5];

Q9。 JavaScriptのname関数とは何ですか?どのように定義できますか?

JavaScriptの名前付き関数は、定義されると名前を宣言します。 例:

関数named(){

//ここにコードを書く

}

Q10。 匿名関数を変数に割り当てて、それを引数として別の関数に渡すことはできますか?

Javascriptを使用すると、無名関数を変数に割り当てて、別の関数の引数として渡すことができます。

Q11。 JavaScriptでは、引数オブジェクトとは何ですか?また、関数に渡される引数タイプを取得するにはどうすればよいですか?

JavaScriptの変数引数は、関数に渡される引数を表します。 typeof演算子を使用して、引数の型を取得できます。

Q12。 JavaScriptでは、変数のスコープは何ですか?

変数のスコープとは、変数が定義されているプログラムの領域を意味します。 2つのスコープがあります。

  • グローバル変数:グローバル変数にはグローバルスコープがあり、コード内のどこにでも表示されます。
  • ローカル変数:ローカル変数は、それが定義されている関数内でのみ表示されます。

Q13。 JavaScriptの「This」演算子は何をしますか?

JavaScriptで使用される「This」キーワードは、それが属するオブジェクトについて説明します。 さまざまな値があり、使用されている場所によって異なります。

Q14。 「コールバック」とは何ですか?

コールバックは、オプションまたは引数としてメソッドに渡されるJavaScript関数です。 コールバックは、別の関数の実行が終了した後に実行する必要がある関数です。

Q15。 閉鎖を定義しますか?

クロージャは、特定の変数が現在のスコープの外部で定義され、内部のスコープを使用して内部からアクセスされる場合に開発されます。

Q16。 JavaScriptに組み込まれているメソッドにはどのようなものがあり、それらによって返される値は何ですか?

組み込みメソッドの一部とそれらによって返される値は次のとおりです。

Concat()は、2つまたは3つ以上の文字列を結合するのに役立ちます

CharAt()は、特定のインデックスの文字を返すのに役立ちます

forEach()は、配列に存在する各要素の関数を呼び出すのに役立ちます

length()は、文字列の長さを返すのに役立ちます

indexOf()は、特定の値が最初に出現した呼び出し元のStringオブジェクト内のインデックスを返すのに役立ちます

push()は、配列の最後に1つまたは複数の要素を追加して、その配列の新しい長さを返すのに役立ちます

pop()は、配列から最後の要素を削除し、その要素を返すのに役立ちます

reverse()は、配列の要素の順序を逆にするのに役立ちます

Q17。 JavaScriptで変数に名前を付ける際のいくつかの規則は何ですか?

いくつかのルールは次のとおりです。

  • 変数名としてJavaScriptの予約キーワードを使用しないでください。
  • JavaScriptの変数名は、0〜9の範囲内の数値で始めることはできません。
  • JavaScriptの変数名では、大文字と小文字が区別されます。

Q18。 TypeOf演算子の仕事は何ですか?

typeof演算子を使用して、そのオペランドのデータ型を取得できます。 指定するオペランドは、データ構造、または関数、オブジェクト、変数などのリテラルにすることができます。

Q19。 JavaScriptを使用してCookieを作成するにはどうすればよいですか?

document.cookieオブジェクトに文字列値を割り当てるだけで、JavaScriptでCookieを作成できます。

構文:

document.cookie =“ key1 = value1; key2 = value2; 有効期限=日付」;

Q20。 JavaScriptを使用してCookieを読み取るにはどうすればよいですか?

実際にはdocument.cookieオブジェクトの値であるため、JavaScriptでCookieを作成するのと同じくらい簡単にCookieを読み取ることができます。 その特定のCookieにアクセスする場合は、いつでもこの文字列を使用できます。

  • document.cookie文字列を使用することにより、セミコロンで区切られた名前と値のペアのリストを保持できます。ここで、名前は実際にはCookieの名前であり、値は文字列値です。
  • 文字列のsplit()関数を使用して、文字列を値とキーに分割することもできます。

Q21。 JavaScriptを使用してCookieを削除するにはどうすればよいですか?

その後Cookieを読み取ろうとしても何も返されないようにCookieを削除する場合は、Cookieの有効期限を過去の時刻に設定する必要があります。

JavaScriptの知識を実際にテストする、より中級レベルのjavascriptインタビューの質問に進みましょう。

Javascript面接の質問と回答–中級レベル

Q22。 属性はプロパティとどのように異なりますか?

属性は、タイプ、ID、値などの要素の詳細を提供します。

プロパティは、プロパティに割り当てられた特定の値です。 たとえば、value ='Name'、type =“ text”などです。

Q23。 JavaScriptコード内でHTML要素にアクセスできるさまざまな方法のリストを提供しますか?

いくつかの方法は次のとおりです。

  • getElementById('idname'):このメソッドを使用すると、要素のID名で要素を取得できます。
  • getElementsByClass('classname'):このメソッドを使用すると、指定されたクラス名を持つすべての要素を取得できます。
  • getElementsByTagName('tagname'):このメソッドを使用すると、指定されたタグ名を持つすべての要素を取得できます。
  • querySelector(): querySelector()関数は、cssスタイルセレクターを受け取り、最初に選択された要素を返します。

Q24。 JavaScriptコードをHTMLファイルに含めることができるさまざまな方法は何ですか?

3つの異なる方法:

  • 列をなして
  • 外部の
  • 内部

インライン関数と呼ばれるJavaScript関数は、実行時に作成される変数に割り当てられます。 一方、関数にJavaScriptが必要な場合は、作業中のページにスクリプトを統合するか、必要に応じて呼び出すことができる別のファイルとしてスクリプトを配置できます。 これは本質的に、外部スクリプトと内部スクリプトの違いになります。

Q25。 JavaScript変数を定義するさまざまな方法は何ですか?

3つの方法があります:

  • Var – JavaScript変数ステートメントは、変数の宣言に役立ちます。 または、その特定の変数の値を初期化するために使用することもできます。
  • Const: const関数は、呼び出されたオブジェクトの変更を許可しないように使用されます。 したがって、関数がconstであると言われる場合、その関数は任意のオブジェクト型で呼び出すことができます。
  • Let: Letは、ループ内のカウンターやアルゴリズム内での値の交換など、変数を再割り当てできることを示すシグナルとして使用されます。

Q26。 型付き言語とは何ですか?

型付き言語では、値は値のみに関連付けられます。 それらは変数に関連付けられていません。 型付き言語には次の2つのタイプがあります。

動的:動的型付け言語の場合、変数はいくつかの型を保持できます。

静的:静的に型付けされた言語では、変数は1つの型のみを保持できます。

Q27。 ローカルストレージはセッションストレージとどう違うのですか?

ローカルストレージ–ローカルストレージでは、データはすべてのHTTPリクエスト(画像、HTML、CSS、JavaScriptなど)でサーバーに返されるわけではありません。 サーバーとクライアント間のトラフィックを減らすのに役立ちます。

セッションストレージ–セッションストレージはローカルストレージと非常によく似ています。 ただし、有効期限のあるローカルシステムのデータストレージとは異なり、セッションストレージを使用して保存されたデータは、ページセッションが終了するとクリアされます。

Q28。 演算子'=='と'==='の違いは何ですか?

演算子「==」と演算子「===」の違いは、前者が型補正を行って変数を比較することです。 したがって、数値を数値リテラルの文字列と比較する場合、そのような比較は「==」を使用して行うことができますが、「===」を使用して行うことはできません。 '==='は、2つの変数の値とタイプをチェックします。

Q29。 nullと未定義の違いはどうですか?

未定義とは、宣言されているがデータの値の割り当てが行われていない変数を指します。 ただし、null自体が割り当て値です。

Q30。 宣言されていないものと定義されていないものはどのように異なりますか?

宣言されていない変数とは、プログラムに存在しないために宣言されていない種類の変数です。 プログラムがそれを読み取ろうとすると、ランタイムエラーが発生します。 未定義の変数は宣言されている変数ですが、それらに値が与えられていません。

Q31。 JavaScriptフレームワークをいくつか挙げてください。

JavaScriptフレームワークとは、JavaScriptで記述されたアプリケーションフレームワークを意味します。 いくつかの一般的なものは次のとおりです。

  • React
  • Angular
  • Vue

Q32。 JavaScriptウィンドウとJavaScriptドキュメントはどのように異なりますか?

Windowはグローバルオブジェクトであり、関数、変数、場所、および履歴を保持します。

ドキュメントはウィンドウの一部であり、Javascriptウィンドウのプロパティと見なされます。

Q33。 innerTextとinnerHTMLはどう違うのですか?

innerText –文字列内で見つかった場合、innerTextはHTMLタグを処理しません。

innerHTML – innerHTMLは、文字列内で見つかったHTMLタグを処理します。

Q34。 JavaScriptでは、イベントバブリングとは何ですか?

イベントバブリングとは、HTMLDOMAPIでのイベント伝播の特定の方法を指します。 これは、別の要素内の要素内でイベントが発生し、両方の要素にそのイベントのハンドルが登録されている場合に発生します。 バブリングに関しては、最初に最も内側の要素によってキャプチャされたイベントが、最終的に外側の要素に中継されます。

実行が1つのイベントから開始されると、親要素に送信されます。 その後、実行は親要素に渡され、これはbody要素まで続きます。

Q35。 JavaScriptでは、NaNとは何ですか?

NaNはNotaNumberの略です。 NaNは常に、NaN自体を含む任意の数と等しくないものを比較するために使用されます。 したがって、これは通常、有効な数値を返すことができる関数のエラー状態を引き出すために使用されます。 たとえば、文字列が数値に変換され、それができない場合は、NaNが表示されます。

Q36。 JavaScriptプリミティブ/オブジェクトタイプはどのように関数を通過しますか?

プリミティブデータ型は値で渡され、オブジェクトは参照で渡されます。

  • 値によるとは、双子の場合、本物または元のsdのコピーを作成することを意味します。
  • 参照とは、本物またはオリジナルのエイリアスを作成することを意味します。 あなたはそれを一般的なニックネームと比較することができます。

Q37。 JavaScriptを使用して任意の基数の文字列を整数に変換するにはどうすればよいですか?

parseInt()関数を使用すると、異なる基数間で数値を変換できます。

Q38。 JavaScriptでは、問題の結果はどうなりますか:2 + 5 +“ 3”?

  1. 2と5は整数なので、通常の加算が実行されます。 ただし、3は文字列であるため、連結があります。 「」は文字列を表します。

Q39。 輸出入とは何ですか?

インポートとエクスポートは、モジュラーJavaScriptコードを作成するのに役立ちます。 さらに複数のファイルに分割することができます。

あなたはすでにJavaScriptの面接の難しい質問のいくつかをマスターしています。 それでは、深く掘り下げて、高度なJavaScriptインタビューの質問と回答をご覧ください。

Javascript面接の質問と回答–上級レベル

Q40。 厳密モードとは何ですか。どのように有効にできますか?

厳密モードは、コードのエラーをチェックするのに役立ちます。 厳密モードを使用している場合、暗黙的に宣言された変数を使用したり、読み取り専用プロパティに値を割り当てたりすることはできません。

ストリクトモードを有効にしたい場合は、プログラム、関数、またはファイルの先頭に「usestrict」を追加するだけです。

Q41。 JavaScriptでは、プロンプトボックスの用途は何ですか?

JavaScriptのプロンプトボックスは、ユーザーがテキストボックスを使用して入力するのに役立ちます。 prompt()メソッドは、訪問者に入力を求めるダイアログボックスを表示するのに役立ちます。

Q42。 このコードからどのような結果が得られますか?

var Y = 1;

if(function F(){})

{{

y+=タイプオブF;</span>

}

console.log(y);

1undefinedが出力になります。 これは、if条件ステートメントが'eval'を使用して評価するため、eval(function f(){})が関数f(){}(true)を返すためです。 したがって、このifステートメント内では、ifステートメントコードが実行時に実行されるため、未定義を返すtypeoffを実行します。 したがって、if条件内に存在するステートメントは、実行時に評価されます。

Q43。 適用と呼び出しの違いを述べますか?

call()メソッドは、指定された'this'値と個別に提供される引数を持つ関数を呼び出すのに役立ちます。 構文は次のとおりです。

fun.call(thisArg [、arg1 [、arg2 [、…]]])

apply()メソッドは、指定された'this'値を持つ関数を呼び出すために使用されますが、引数は配列として表示されます。 構文は次のとおりです。

fun.apply(thisArg、[argsArray])

Q44。JavaScriptで、配列を空にするにはどうすればよいですか?

配列を空にする方法はいくつかあります。 彼らです:

方法1:

arrayList = []

元の配列arrayListへの参照がない場合は、このメソッドをお勧めします。 ただし、以前に別の変数からこの配列を参照したことがある場合は、元の参照配列は変更されません。

方法2:

arrayList.length = 0;

このコードを使用すると、配列の長さを0に設定し、参照変数のすべての更新を空にして、元の配列に戻します。

方法3:

arrayList.splice(0、arrayList.length);

このメソッドを使用して、すべての参照を元の配列に更新するなど、すべての配列を空にすることもできます。

方法4:

while(arrayList.length)

{{

arrayList.pop();

}

これは配列を空にするための優れた方法でもありますが、推奨される方法ではありません。

Q45。 このコードはどのような出力を示しますか:

var出力=(function(x)

{{

Xを削除します。

Xを返します。

}

)(0);

console.log(出力);

削除演算子は、オブジェクトからプロパティを削除するのに役立ちます。 このコードでは、xはオブジェクトとしてではなく、ローカル変数として使用されます。 削除演算子はローカル変数には影響しません。

Q46。 このコードはどのような出力を示しますか:

var X = {Foo:1};

var出力=(function()

{{

X.fooを削除します。

X.fooを返します。

}

)();

console.log(出力);

未定義の出力。 削除演算子は、オブジェクトからプロパティを削除するのに役立ちます。 このコードでは、xはfooというプロパティを持つオブジェクトです。 これは自己呼び出し関数であるため、xオブジェクトからプロパティfooを削除します。 したがって、結果は未定義になります。

Q47。 このコードはどのような出力を示しますか:

var Employee =

{{

会社:'xyz'

}

var Emp1 = Object.create(employee);

Emp1.company Console.log(emp1.company);を削除します。

結果=xyz。 このコードでは、emp1オブジェクトはプロトタイププロパティとしてcompanyを使用しています。 削除演算子はプロトタイププロパティを削除しません。 オブジェクトemp1には、プロパティとして会社がありません。 delete Employee.companyを使用して、Employeeオブジェクトから会社のプロパティを直接削除することができます。

Q48。 このコードはどのような出力を示しますか:

// nfe(名前付き関数式)

var Foo = Function Bar()

{{

7を返します。

};

typeof Bar();

出力=参照エラー。 関数定義には、関数名として1つの参照変数のみを含めることができます。

Q49。 JavaScriptソースファイルのコンテンツを関数ブックでラップするのが一般的なのはなぜですか?

多くのJavaScriptライブラリはこの手法を使用しています。 これは、ファイルのコンテンツの周りにクロージャを作成するのに役立ち、プライベート名前空間を作成するのに役立ちます。したがって、さまざまなJavaScriptモジュールやライブラリとの名前の衝突を回避できます。

Q50。 JavaScriptでは、エスケープ文字とは何ですか?

エスケープ文字は、アプリケーションを中断することなく特殊文字を書くのに役立ちます。

世界のトップ大学からソフトウェアエンジニアリングの学位取得します。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

結論

これらは、面接のエースを支援するためにさまざまな難易度で提供されるいくつかの人気のあるjavascript面接の質問です。 これらのjavascript面接の質問と回答を使用して、JavaScriptの基本的な知識と高度な知識をブラッシュアップすることは、トップテクノロジー企業の開発者としての仕事に着手するための優れた方法です。

Web開発の芸術的な側面を好む人もいれば、技術的な側面を好む人もいます。 しかし、両方を知っている3番目のグループがあります。 最初のグループはフロントエンド開発者、2番目のグループはバックエンド開発者、最後のグループはフルスタック開発者です。

フルスタック開発者の需要が高まっています。 そして企業は、HTMLとPHPの両方を扱うことができる才能のある専門家を切実に必要としています。

フルスタック開発の詳細に興味がある場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニング、9以上のプロジェクト、および割り当てを提供します。 IIIT-Bの卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、トップ企業との雇用支援。

JavaScriptとは何ですか?

JavaScriptは、オブジェクト指向機能を備えた軽量でインタプリタされたプログラミング言語です。 インタラクティブ性を静的なHTMLページに発展させるのに役立ちます。

JavaScriptでは大文字と小文字が区別されますか?

はい、JavaScriptでは大文字と小文字が区別されます。

JavaScriptの変数のスコープは何ですか?

グローバル変数:グローバル変数にはグローバルスコープがあり、コード内のどこにでも表示されます。
ローカル変数:ローカル変数は、それが定義されている関数内でのみ表示されます。