JavaScript データ型を理解する日: プリミティブと非プリミティブ

王林
リリース: 2024-09-03 21:08:20
オリジナル
180 人が閲覧しました

Day nderstanding JavaScript Data Types: Primitive vs. Non-Primitive

JavaScript では、データ型は、プリミティブ非プリミティブ (参照) 型の 2 つの主なカテゴリに分類されます。この区別は、データがメモリにどのように保存され、メモリにアクセスされるかを理解するために不可欠です。それぞれのタイプを分類して、それらがどのように機能するかを見てみましょう。

プリミティブ データ型

JavaScript には 7 つのプリミティブ データ型があります:

  1. 文字列

    「Hello World」などのテキスト データを表します。

  2. 番号

    整数と浮動小数点数の両方を表します (例: 100、100.3)。他の言語とは異なり、JavaScript は整数と浮動小数点数を区別しません。それらはすべて単なる数値です。

    const score = 100;
    const scoreValue = 100.3;
    console.log(typeof scoreValue); // Output: number
    
    ログイン後にコピー
  3. ブール値

    論理値: true または false を表します。

    const isLoggedIn = true;
    console.log(typeof isLoggedIn); // Output: boolean
    
    ログイン後にコピー
  4. 記号

    一意の識別子を表します。 2 つのシンボルが同じ説明で作成された場合でも、それらは別個のものです。

    const id = Symbol('123');
    const anotherId = Symbol('123');
    console.log(id === anotherId); // Output: false
    
    ログイン後にコピー
  5. Null

    オブジェクト値が意図的に存在しないことを表します。

    const outsideTemp = null;
    console.log(typeof outsideTemp); // Output: object
    
    ログイン後にコピー
  6. 未定義

    宣言されているがまだ値が割り当てられていない変数を表します。

    let weather;
    console.log(typeof weather); // Output: undefined
    
    ログイン後にコピー
  7. BigInt

    整数を任意の精度で表し、Number の安全な整数制限を超える大きな数値を操作できるようにします。

    const bigNumber = 23873847283748289483n;
    console.log(typeof bigNumber); // Output: bigint
    
    ログイン後にコピー
プリミティブ データ型: 値による呼び出し

プリミティブ型は、変数に関連付けられたメモリの場所に直接保存されます。プリミティブ値を別の変数に割り当てると、その値の新しいコピーが作成されます。

let myName = "Aman";
let myOtherName = myName;
myOtherName = "Dawn";
console.log(myName);       // Output: Aman
console.log(myOtherName);  // Output: Dawn
ログイン後にコピー

上記の例では、値の新しいコピーが作成されたため、myOtherName を変更しても myName には影響しません。

非プリミティブ データ型

非プリミティブ型 (参照型とも呼ばれます) には次のものがあります。

  1. 配列

    リストとして保存される、任意の型の要素のコレクション。

    const heros = ["ironman", "spiderman", "batman"];
    console.log(typeof heros); // Output: object
    
    ログイン後にコピー
  2. オブジェクト

    キーと値のペアのコレクション。キーは文字列またはシンボルであり、値は任意の型にすることができます。

    let myObj = {
        name: "Ayush",
        age: 21,
    };
    console.log(typeof myObj); // Output: object
    
    ログイン後にコピー
  3. 関数

    特定のタスクを実行するように設計されたコードのブロック。変数に保存できます。

    const myFunction = function() {
        console.log("Hello World");
    };
    console.log(typeof myFunction); // Output: function
    
    ログイン後にコピー
非プリミティブ データ型: 参照による呼び出し

非プリミティブ型はヒープに格納され、変数は実際のデータへの参照 (メモリ アドレス) を保持します。非プリミティブ型を別の変数に割り当てると、両方の変数が同じメモリ位置を指します。

let userOne = {
    email: "user1@google.com",
    upi: "user@ybl"
};
let userTwo = userOne;
userTwo.email = "aman@google.com";
console.log(userOne.email);  // Output: aman@google.com
console.log(userTwo.email);  // Output: aman@google.com
ログイン後にコピー

上記の例では、両方の変数がメモリ内の同じオブジェクトを参照しているため、userTwo.email を変更すると userOne.email も変更されます。

重要なポイント

  • プリミティブ型 は、値を直接格納する単純なデータ型です。これらは不変であり、各変数はデータの独自のコピーを保持します。
  • 非プリミティブ型 はより複雑で、変数にはデータへの参照が格納されます。 1 つの変数を変更すると、同じデータを参照する他の変数に影響を与える可能性があります。
  • JavaScript で効率的でバグのないコードを作成するには、これらの違いを理解することが重要です。

コーディングを楽しんでください。また次回でお会いしましょう!!!

以上がJavaScript データ型を理解する日: プリミティブと非プリミティブの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!