Rumah  >  Artikel  >  hujung hadapan web  >  Pemahaman Hari Jenis Data JavaScript: Primitif lwn. Bukan Primitif

Pemahaman Hari Jenis Data JavaScript: Primitif lwn. Bukan Primitif

王林
王林asal
2024-09-03 21:08:20257semak imbas

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

Dalam JavaScript, jenis data dibahagikan kepada dua kategori utama: jenis Primitif dan Bukan Primitif (Rujukan). Perbezaan ini penting untuk memahami cara data disimpan dan diakses dalam ingatan. Mari pecahkan setiap jenis dan lihat cara ia berfungsi.

Jenis Data Primitif

JavaScript mempunyai 7 jenis data primitif:

  1. Rentetan

    Mewakili data teks, cth., "Hello World".

  2. Nombor

    Mewakili nombor integer dan titik terapung, cth., 100, 100.3. Tidak seperti beberapa bahasa lain, JavaScript tidak membezakan antara integer dan terapung—semuanya hanyalah Nombor.

    const score = 100;
    const scoreValue = 100.3;
    console.log(typeof scoreValue); // Output: number
    
  3. Boolean

    Mewakili nilai logik: benar atau salah.

    const isLoggedIn = true;
    console.log(typeof isLoggedIn); // Output: boolean
    
  4. Simbol

    Mewakili pengecam unik. Walaupun dua simbol dicipta dengan penerangan yang sama, ia adalah berbeza.

    const id = Symbol('123');
    const anotherId = Symbol('123');
    console.log(id === anotherId); // Output: false
    
  5. Batal

    Mewakili ketiadaan sebarang nilai objek yang disengajakan.

    const outsideTemp = null;
    console.log(typeof outsideTemp); // Output: object
    
  6. Tidak ditentukan

    Mewakili pembolehubah yang telah diisytiharkan tetapi belum diberikan nilai.

    let weather;
    console.log(typeof weather); // Output: undefined
    
  7. BigInt

    Mewakili integer dengan ketepatan arbitrari, membolehkan anda bekerja dengan nombor yang besar melebihi had integer selamat Nombor.

    const bigNumber = 23873847283748289483n;
    console.log(typeof bigNumber); // Output: bigint
    
Jenis Data Primitif: Panggilan mengikut Nilai

Jenis primitif disimpan terus dalam lokasi memori yang dikaitkan dengan pembolehubah. Apabila anda memperuntukkan nilai primitif kepada pembolehubah lain, salinan baharu nilai tersebut dibuat.

let myName = "Aman";
let myOtherName = myName;
myOtherName = "Dawn";
console.log(myName);       // Output: Aman
console.log(myOtherName);  // Output: Dawn

Dalam contoh di atas, menukar myOtherName tidak menjejaskan myName, kerana salinan baharu nilai telah dibuat.

Jenis Data Bukan Primitif

Jenis bukan primitif, juga dikenali sebagai jenis rujukan, termasuk:

  1. Array

    Koleksi elemen yang boleh daripada sebarang jenis, disimpan sebagai senarai.

    const heros = ["ironman", "spiderman", "batman"];
    console.log(typeof heros); // Output: object
    
  2. Objek

    Koleksi pasangan nilai kunci, yang kuncinya adalah rentetan atau Simbol, dan nilainya boleh dari sebarang jenis.

    let myObj = {
        name: "Ayush",
        age: 21,
    };
    console.log(typeof myObj); // Output: object
    
  3. Fungsi

    Blok kod direka untuk melaksanakan tugas tertentu, yang boleh disimpan dalam pembolehubah.

    const myFunction = function() {
        console.log("Hello World");
    };
    console.log(typeof myFunction); // Output: function
    
Jenis Data Bukan Primitif: Panggilan melalui Rujukan

Jenis bukan primitif disimpan dalam timbunan dan pembolehubah memegang rujukan (alamat memori) kepada data sebenar. Apabila anda menetapkan jenis bukan primitif kepada pembolehubah lain, kedua-dua pembolehubah menghala ke lokasi memori yang sama.

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

Dalam contoh di atas, mengubah suai userTwo.email juga menukar userOne.email kerana kedua-dua pembolehubah merujuk objek yang sama dalam ingatan.

Pengambilan Utama

  • Jenis primitif ialah jenis data ringkas yang menyimpan nilai secara langsung. Ia tidak boleh diubah dan setiap pembolehubah memegang salinan datanya sendiri.
  • Jenis bukan primitif adalah lebih kompleks dan pembolehubah menyimpan rujukan kepada data. Perubahan kepada satu pembolehubah boleh mempengaruhi orang lain yang merujuk data yang sama.
  • Memahami perbezaan ini adalah penting untuk menulis kod yang cekap dan bebas pepijat dalam JavaScript.

Selamat pengekodan dan jumpa lagi pada yang seterusnya!!!

Atas ialah kandungan terperinci Pemahaman Hari Jenis Data JavaScript: Primitif lwn. Bukan Primitif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn