- プリミティブ型とオブジェクト型の違いは何ですか?それぞれの例を示してください。
プリミティブ型は、数値、文字列、真偽値、null、undefinedなどの単純な値です。オブジェクト型は、複数のプロパティとメソッドを持つ複雑な値です。以下に例を示します。
// プリミティブ型の例
let number = 10;
let string = "Hello";
let boolean = true;
let nullValue = null;
let undefinedValue = undefined;
// オブジェクト型の例
let object = { name: "John", age: 25 };
let array = [1, 2, 3];
- 関数宣言と関数式の違いは何ですか?それぞれの例を示してください。
関数宣言は、function
キーワードを使用して関数を定義する方法です。関数式は、関数を変数に代入する方法です。以下に例を示します。
// 関数宣言の例
function sum(a, b) {
return a + b;
}
// 関数式の例
const sum = function(a, b) {
return a + b;
};
- クロージャとは何ですか?どのように使用されますか?例を示してください。
クロージャは、関数とその関数が定義された環境との組み合わせです。関数内の変数は、その関数内でのみアクセス可能ですが、クロージャを使用すると、関数外からその変数にアクセスできます。以下に例を示します。
function outer() {
let count = 0;
function inner() {
count++;
console.log(count);
}
return inner;
}
const closure = outer();
closure(); // 1
closure(); // 2
- コールバック関数とは何ですか?どのように使用されますか?例を示してください。
コールバック関数は、関数の引数として渡され、他の関数によって呼び出される関数です。主に非同期処理やイベントハンドリングなどに使用されます。以下に例を示します。
function fetchData(callback) {
setTimeout(function() {
const data = "Some data";
callback(data);
}, 1000);
}
function processData(data) {
console.log("Processed data:", data);
}
fetchData(processData);
これらは、JavaScriptのコーディングインタビューでよく尋ねられる重要な質問のいくつかです。このような質問に対する理解と実際のコード例の準備をすることで、インタビューの成功を高めることができます。