の JavaScript の演算子の種類 変数または式のデータ型を返します。これはオペランドの前に置かれる単項演算子で、数値、文字列、ブール値、オブジェクト、未定義、関数、シンボルなどのデータ型を示す文字列を返します。これは、処理されるデータの種類を動的に決定し、JavaScript プログラムでの条件付きロジックと型チェックを容易にするためによく使用されます。
構文:
typeof operand // OR typeof (operand)>
プリミティブデータ型
JavaScript のプリミティブ データ型は、単一の値を表す基本的なデータ型です。それらには次のものが含まれます。
データ・タイプ | 説明 |
---|---|
番号 | 整数や浮動小数点数などの数値を表します。 |
弦 | 一重引用符 () または二重引用符 () で囲まれたテキスト データを表します。 |
ブール値 | true または false の値を表します。 |
未定義 | 宣言されているが値が割り当てられていない変数を表します。 |
ヌル | オブジェクト値が意図的に存在しないことを表します。 |
シンボル | オブジェクトのプロパティのキーとして使用される一意で不変のデータ型を表します。 |
BigInt | Number 型の制限を超える大きな整数を表します。 |
例 1: 以下の例は、プリミティブ データ型に対する typeof 演算子の結果を示しています。
JavaScript // Define variables with different primitive data types const num = 10; const str = 'Hello'; const bool = true; const undef = undefined; const nul = null; const sym = Symbol('symbol'); const bigInt = 9007199254740991n; // Use typeof operator to determine the data type console.log(typeof num); // Output: 'number' console.log(typeof str); // Output: 'string' console.log(typeof bool); // Output: 'boolean' console.log(typeof undef); // Output: 'undefined' console.log(typeof nul); // Output: 'object' (typeof null is an oddity, // it returns 'object') console.log(typeof sym); // Output: 'symbol' console.log(typeof bigInt);// Output: 'bigint'>
出力
number string boolean undefined object symbol bigint>
例 2: この例では、値と型の両方を比較して true または false を返す「===」(厳密な等価比較演算子) を使用します。
JavaScript
//Number console.log(typeof 25 === 'number'); console.log(typeof 3.14 === 'number'); console.log(typeof (69) === 'number'); // log base 10 console.log(typeof Math.LN10 === 'number'); console.log(typeof Infinity === 'number'); // Despite being 'Not-A-Number' console.log(typeof NaN === 'number'); // Wrapping in Number() function console.log(typeof Number('100') === 'number');>
説明: 最初の console.log() では、js は左から右にコンパイルを開始し、最初に 25 の型である「number」を計算し、次にそれを「number」と比較して、最後にそれに応じて true または false を返します。
出力
true true true true true true true>
例 3: この例では、typeof 演算子を使用して関数のデータ型を比較します。
JavaScript // function console.log(typeof function () { } === 'function'); //classes too are objects console.log(typeof class C { } === 'function'); console.log(typeof Math.sin === 'function');>
出力
true true true>