Rumah >hujung hadapan web >tutorial js >Adakah Javascript Primitives Sebenarnya Objek?

Adakah Javascript Primitives Sebenarnya Objek?

Linda Hamilton
Linda Hamiltonasal
2024-11-17 06:56:031043semak imbas

Are Javascript Primitives Actually Objects?

Javascript Primitives vs. Objects: Menjelaskan Tanggapan

Walaupun persepsi umum bahawa "hampir semua dalam Javascript adalah objek," bukan semua entiti dalam bahasa mematuhi definisi ini. Perbezaan antara primitif dan objek ini memerlukan penjelasan.

Primitif

Berbeza dengan objek, primitif ialah nilai tidak berubah yang wujud dalam bentuk asasnya. Mereka kekurangan kaedah dan sifat, dan termasuk jenis data seperti:

  • String
  • Nombor
  • Boolean

Objek Pembungkus

Primitif mempunyai pembalut objek yang sepadan (String, Nombor, Boolean) yang menawarkan kaedah dan sifat. Walau bagaimanapun, primitif itu sendiri bukan objek. Untuk berinteraksi dengan sifat primitif, Javascript secara tersirat mencipta objek pembalut untuk operasi.

Contoh dengan Rentetan

Pertimbangkan coretan kod di bawah:

var s = "foo";
var sub = s.substring(1, 2); // sub is now the string "o"

Javascript secara dalaman melaksanakan perkara berikut langkah:

  1. Mencipta objek pembungkus Rentetan daripada s.
  2. Panggil kaedah subrentetan() pada objek Rentetan.
  3. Melupuskan objek Rentetan.
  4. Mengembalikan yang terhasil rentetan.

Percubaan Menetapkan Sifat kepada Primitif

Menetapkan sifat kepada primitif tidak mungkin dilakukan dengan berkesan kerana mana-mana sifat sedemikian akan dikaitkan dengan objek pembalut sementara dan bukan primitif itu sendiri:

var s = "foo";
s.bar = "cheese";
alert(s.bar); // undefined

Berfungsi sebagai Objek

Fungsi, sebaliknya, adalah objek tulen yang mampu diwarisi daripada kelas Objek. Mereka memiliki sifat dan boleh dimanipulasi seperti objek lain:

function foo() {}
foo.bar = "tea";
alert(foo.bar); // tea

Kesimpulannya, walaupun nampaknya primitif mempunyai tingkah laku seperti objek, ia berbeza daripada objek sebenar dalam Javascript. Pembalut objek membenarkan interaksi dengan nilai primitif, tetapi primitif kekal tidak berubah. Fungsi, bagaimanapun, adalah полноценные объекты, objek lengkap yang mampu untuk semua keupayaan objek. Pemahaman ini menjelaskan hubungan antara primitif dan objek dalam bahasa Javascript.

Atas ialah kandungan terperinci Adakah Javascript Primitives Sebenarnya Objek?. 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