🐣
データ型とリテラル
データ型とリテラルについて
💡データ型
- データ型は
プリミティブ型とオブジェクトからなる
①プリミティブ型
- プリミティブ型は単一の値しか持たない
- 一度定義されたプリミティブ型のデータは
変更不可能(*イミュータブル)
| 型 | descriotion |
|---|---|
| Boolean(真偽値) | true or false |
| Number(数値) | 1,2などの数としてのデータ |
| String(文字列) | "Good morning"などのテキストデータ |
| undefinded | 変数が未定義であることを意味する |
| null | 「空」すなわち値が存在しないことを意味する |
②オブジェクト型
- プリミティブ型以外のデータ
- オブジェクト、配列、関数、クラスなど複数の異なるデータや機能を変数に格納したもの
typeof演算子を使用してデータ型を調べることができる
データ型を調べる方法
console.log(typeof true);// => "boolean"
console.log(typeof 42); // => "number"
console.log(typeof "JavaScript"); // => "string"
console.log(typeof undefined); // => "undefined"
console.log(typeof null); // => "object"
console.log(typeof ["配列"]); // => "object"
console.log(typeof { "key": "value" }); // => "object"
console.log(typeof function() {}); // => "function"
オブジェクト型を活用した関数
// データ型を活用した関数
function processData(data) {
// 型チェックによる処理分岐
if (typeof data === 'string') {
return data.toUpperCase();
} else if (typeof data === 'number') {
return data * 2;
} else if (Array.isArray(data)) {
return data.length;
} else if (data === null) {
return 'データがありません';
} else {
return '未対応の型です';
}
}
console.log(processData("hello")); // "HELLO"
console.log(processData(5)); // 10
console.log(processData([1,2,3])); // 3
console.log(processData(null)); // "データがありません"
💡リテラル
リテラルの種類
| 大カテゴリ | 中カテゴリ | description |
|---|---|---|
| 数値リテラル | 整数リテラル | 10進数、16進数、8進数、2進数 |
| 浮動小数点リテラル | 小数点を含む数値や指数表記 | |
| 文字列リテラル | 文字を二重引用符 (") または単一引用符 (') で括ったもの | |
| テンプレート文字列 | 文字列への変数埋め込みを行ったもの |
テンプレート文字列の構成
${name}
${変数名}
テンプレート文字列の例
let name = '福沢諭吉'
let text = '一万円札は${name}である'//ここで${name}というテンプレート文字列を使用
comsole.log(text)
//出力→ 一万円札は福沢諭吉である
Discussion
それは要件ではないような……?(Symbol は identity の他に ラベル を持っていますよね)
むしろ メソッドを持たない の方が重要な気がします。
長整数(bigint) が抜けていませんでしょうか?