メインコンテンツまでスキップ

undefined型

JavaScriptのundefinedは未定義を表すプリミティブな値です。変数に値がセットされていないとき、戻り値が無い関数、オブジェクトに存在しないプロパティにアクセスしたとき、配列に存在しないインデックスでアクセスしたときなどに現れます。

js
let name;
console.log(name);
undefined
 
function func() {}
console.log(func());
undefined
 
const obj = {};
console.log(obj.name);
undefined
 
const arr = [];
console.log(arr[1]);
undefined
js
let name;
console.log(name);
undefined
 
function func() {}
console.log(func());
undefined
 
const obj = {};
console.log(obj.name);
undefined
 
const arr = [];
console.log(arr[1]);
undefined

undefinedリテラル

JavaScriptでは同じプリミティブ型でも、boolean型やnumber型がリテラルがあるのに対し、undefinedにはリテラルはありません。実はundefinedは変数です。グローバル定数のようなものと理解して構いません。

undefinedの型注釈

TypeScriptでundefined型の型注釈を行うには、undefinedを用います。

ts
const x: undefined = undefined;
ts
const x: undefined = undefined;

戻り値のない関数はundefinedになりますが、TypeScriptで戻り値なしを型注釈で表現する場合、undefinedではなくvoidを用います。詳しくは関数の説明をご覧ください。

📄️ 戻り値がない関数とvoid型

TypeScriptで戻り値がない関数の戻り値を型注釈するにはvoid型を用います。void型は関数の戻り値を型注釈するためにある特別な型です。