JavaScript入門 練習問題 32:演算子:typeof演算子によるデータ型判定
次のコードを実行したときのコンソールへの出力として正しいものはどれですか?
```javascript
console.log(typeof 42);
console.log(typeof "hello");
console.log(typeof true);
console.log(typeof undefined);
```
- number, string, boolean, undefined
- Number, String, Boolean, Undefined
- number, string, object, undefined
- number, text, boolean, null
- int, string, boolean, undefined
正解と解説を見る
正解:number, string, boolean, undefined
typeof演算子は値のデータ型を小文字の文字列で返すため、数値は"number"、文字列は"string"、真偽値は"boolean"、未定義の値は"undefined"となります。
【正解の理由】
typeof演算子の戻り値は常にすべて小文字の文字列であり、JavaScriptの基本データ型に対応する名称がそのまま返されます。
【不正解の理由】
• 「Number, String, Boolean, Undefined」:先頭が大文字になっているが、typeofの戻り値はすべて小文字である
• 「number, string, object, undefined」:真偽値のtypeofは"boolean"であり"object"にはならない
• 「number, text, boolean, null」:文字列型の名称は"text"ではなく"string"であり、undefinedの型名も"null"ではない
• 「int, string, boolean, undefined」:JavaScriptに"int"という型名は存在せず、数値型は"number"と表される