Q1. Syntax Error
次のコードを実行するとエラーが発生します。 このエラーの原因は何でしょう?const message = "Hello;
console.log(message);
選択肢(クリックしてください)
答え:
C. ダブルクォートが閉じられていない解説
IDEなどを使っていても、たまに発生してしまいがちな初歩的凡ミスエラーです。
Q2. Type Error
次のコードを実行するとエラーが発生します。 このエラーの原因は何でしょう?const number = 42;
number.toUpperCase();
選択肢(クリックしてください)
答え:
C. 数値型にtoUpperCaseメソッドは存在しない解説
toUpperCase()は、アルファベットの小文字を大文字に変換する処理です。数値に使うとエラーがでるし、数字の大文字は無いので、型をしっかりと理解して変数を扱う事はとても重要という事です。
Q3. Reference Error
次のコードを実行するとエラーが発生します。このエラーの原因は何でしょう?console.log(userName);
let userName = "Alice";
選択肢(クリックしてください)
答え:
B. letを使っているため、userNameはホイスティングされない解説
ホイスティングは、「巻き上げ」という、後記述での値を反映するインタプリタ特有の処理です。 変数の定義はちゃんと、前記述で行いましょう。
Q4. Range Error
次のコードを実行するとエラーが発生します。このエラーの原因は何でしょう?function recursiveFunc() {
return recursiveFunc();
}
recursiveFunc();
選択肢(クリックしてください)
答え:
C. スタックオーバーフローエラーが発生した解説
関数内での無限ループ状態になり、メモリーオーバーになってしまいます。
Q5. JSON.parse Error
次のコードを実行するとエラーが発生します。このエラーの原因は何でしょう?const jsonData = "{name: 'Alice', age: 25}";
const parsedData = JSON.parse(jsonData);
選択肢(クリックしてください)
答え:
C. JSONの構造が不正解説:
JSONで扱う文字列は、'(シングルクォート)ではなく、"(ダブルクォート)を使わなくてはいけません。
Q6. Uncaught Error
次のコードを実行するとエラーが発生します。このエラーの原因は何でしょう?throw new Error("Something went wrong");
選択肢(クリックしてください)
答え:
B. 明示的にエラーがスローされている解説
throwはエラー回避をする処理ですが、try~catchの中で使う事で実行されます。 ダイレクトに記載してはいけません。
Q7. Undefined Error
次のコードを実行するとエラーが発生します。このエラーの原因は何でしょう?let obj = { name: "Alice" };
console.log(obj.age.toString());
選択肢(クリックしてください)
答え:
B. ageが未定義解説
保持していないプロパティは、undefinedとして解釈されます。 undefinedに対して、さらに保持していないプロパティを使おうとすると、エラーが発生します。
Q8. Eval Error
次のコードはエラーを引き起こしますが、問題は何でしょう?eval("console.log('Hello)");
選択肢(クリックしてください)
答え:
B. シングルクォートが閉じられていない翻訳
evalを書いても書かなくても関係ないコードですが、evalの内部に書かれているコードもエラーがあると、そのままエラーが返ってしまいます。
Q9. URI Error
次のコードを実行するとエラーが発生します。このエラーの原因は何でしょう?const url = "https://example.com/%";
decodeURIComponent(url);
選択肢(クリックしてください)
答え:
B. URLのエンコードが不正解説
decodeURIComponentはURLエンコードされた文字列をデコードしますが、%は不完全なエンコード文字列として認識され、URIErrorが発生します。 %としてURLをデコードしたい場合は、%を文字エンコードします。const url = "https://example.com/%25"; // '%25'は'%' decodeURIComponent(url); // 正常にデコードされる
Q10. Async/Await Error
次のコードを実行するとエラーが発生します。このエラーの原因は何でしょう?async function fetchData() {
const response = await fetch("https://example.com/api");
console.log(response.json());
}
選択肢(クリックしてください)
答え:
C. .json()はPromiseを返すため、awaitが必要解説
.json()メソッドはPromiseを返すため、awaitなしで実行すると未解決のPromiseオブジェクトがログに出力されます。 解決方法:.json()にもawaitを追加することで正しくデータを取得できます。async function fetchData() { const response = await fetch("https://example.com/api"); const data = await response.json(); console.log(data); }
0 件のコメント:
コメントを投稿