Rumah > hujung hadapan web > tutorial js > Jenis Data yang berbeza dalam JavaScript.

Jenis Data yang berbeza dalam JavaScript.

Barbara Streisand
Lepaskan: 2025-01-15 06:36:46
asal
264 orang telah melayarinya

Different Data types in JavaScript.

Kami mempunyai jenis data yang berbeza dalam JavaScript.

  • Jenis primitif: rentetan, nombor, boolean, tidak ditentukan, null, simbol dan bigint.

  • Jenis rujukan: objek, fungsi dan tatasusunan.


Jenis Primitif

Jenis primitif ialah jenis data paling asas dalam JavaScript. Mereka tidak berubah. Ini bermakna bahawa apabila nilai primitif dicipta, ia tidak boleh diubah. Jangan mengelirukan ini dengan menetapkan semula pembolehubah. Menetapkan semula pembolehubah tidak sama dengan menukar nilai jenis primitif.

Menugaskan Semula Adakah Baik??

let str = "hello";
str = "Hello"; // str -> "Hello"
Salin selepas log masuk
Salin selepas log masuk

Dalam contoh ini, kami menugaskan semula pembolehubah str kepada nilai baharu. Ini sangat baik.

Nilai yang sama adalah nilai yang sama dalam ingatan

let str1 = "hello";
let str2 = "hello";
Salin selepas log masuk

Di sini kita mempunyai dua pembolehubah, str1 dan str2, yang mempunyai nilai yang sama. Dalam JavaScript, jika dua nilai primitif adalah sama, ia adalah sama. Mereka adalah sama kerana di bawah hud, kedua-dua pembolehubah menghala ke lokasi memori yang sama.

Rentetan yang sama tidak dicipta semula dalam ingatan. Mereka disimpan dalam ingatan sekali sahaja. Jurutera JavaScript menggunakan teknik yang dipanggil string interning untuk mengoptimumkan penggunaan memori. Teknik ini juga digunakan untuk nombor.

Jenis Primitif Tidak Boleh Berubah

let str = "hello";
str[0] = "H"; // str -> "hello"
Salin selepas log masuk

Anda tidak boleh menukar rentetan setelah ia dibuat. Dalam contoh ini, kami cuba menukar aksara pertama rentetan str kepada "H." Ini tidak akan berfungsi. Str rentetan akan kekal sama. Jenis primitif tidak boleh diubah.

Jika anda perlu mencipta rentetan baharu, anda boleh melakukannya secara eksplisit:

let newStr = "H" + str.slice(1); // newStr -> "Hello"
Salin selepas log masuk

Jenis Rujukan

Jenis rujukan boleh berubah. Ini bermakna anda boleh menukar nilai jenis rujukan. Ia dipanggil jenis rujukan untuk menyerlahkan bahawa ia disimpan sebagai rujukan dalam ingatan. Walaupun rentetan disimpan sebagai rujukan juga, ia tidak boleh diubah dan menggunakan teknik interning untuk mengelak daripada mencipta semula nilai yang sama dalam ingatan.

Objek Baru Dicipta dalam Ingatan

let obj1 = { name: "John" };
let obj2 = { name: "John" };
Salin selepas log masuk

Di sini, obj1 dan obj2 ialah dua objek berbeza. Ia disimpan di lokasi memori yang berbeza. Walaupun ia mempunyai sifat dan nilai yang sama, ia tidak sama kerana objek dibandingkan dengan rujukan, bukan dengan nilai.

Mengubah Objek dengan Rujukan Yang Sama

let obj1 = { name: "John" };
let obj2 = obj1;
Salin selepas log masuk

Di sini, obj1 dan obj2 ialah objek yang sama. Kedua-dua pembolehubah menunjuk ke lokasi memori yang sama. Jika anda menukar nilai di lokasi ini, ia akan ditunjukkan dalam kedua-dua pembolehubah.

Contoh

obj2.name = "Jane"; // obj1 -> { name: "Jane" }, obj2 -> { name: "Jane" }
Salin selepas log masuk

Untuk menggambarkan bagaimana ini akan kelihatan dalam ingatan:

Memory location 1: { name: "John" }

obj1 -> Memory location 1
obj2 -> Memory location 1
Salin selepas log masuk

Dengan kemas kini:

let str = "hello";
str = "Hello"; // str -> "Hello"
Salin selepas log masuk
Salin selepas log masuk

Kami mengemas kini nilai dalam lokasi memori 1. Semestinya kedua-dua obj1 dan obj2 mencerminkan perubahan ini kerana kedua-duanya merujuk lokasi memori yang sama.


Kesimpulan

Jenis primitif tidak boleh diubah dan dioptimumkan untuk penggunaan ingatan dengan teknik seperti interning rentetan, manakala jenis rujukan membolehkan fleksibiliti yang lebih besar melalui kebolehubahan dan rujukan bersama. Dengan menguasai konsep ini, anda boleh meramal dan mengawal tingkah laku kod anda dengan lebih baik, yang membawa kepada aplikasi yang lebih mantap dan boleh diselenggara.

Atas ialah kandungan terperinci Jenis Data yang berbeza dalam JavaScript.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan