🐣

データ型とリテラル

に公開1

データ型とリテラルについて

💡データ型

  • データ型はプリミティブ型オブジェクトからなる

①プリミティブ型

  • プリミティブ型は単一の値しか持たない
  • 一度定義されたプリミティブ型のデータは変更不可能(*イミュータブル)
descriotion
Boolean(真偽値) true or false
Number(数値) 1,2などの数としてのデータ
String(文字列) "Good morning"などのテキストデータ
undefinded 変数が未定義であることを意味する
null 「空」すなわち値が存在しないことを意味する

②オブジェクト型

  1. プリミティブ型以外のデータ
  2. オブジェクト、配列、関数、クラスなど複数の異なるデータや機能を変数に格納したもの

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

junerjuner

プリミティブ型は単一の値しか持たない

それは要件ではないような……?(Symbol は identity の他に ラベル を持っていますよね)
むしろ メソッドを持たない の方が重要な気がします。

オブジェクトでなく、メソッドを持たないデータのことです。 7 種類のプリミティブデータ型があります。
(中略)
すべてのプリミティブ値は、イミュータブル (immutable) 、つまり変更できません。変数には新しい値を再割り当てすることができますが、既存の値については、オブジェクト、配列、関数が変更できるのに対して、プリミティブ値は変更することができません。この言語では、プリミティブな値を変更するユーティリティは提供されていません。

https://developer.mozilla.org/ja/docs/Glossary/Primitive


リテラルの種類

長整数(bigint) が抜けていませんでしょうか?

https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Data_structures#長整数型