Adakah Javascript Primitives Sebenarnya Objek?

Linda Hamilton
Lepaskan: 2024-11-17 06:56:03
asal
994 orang telah melayarinya

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"
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
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