Properti Objek Pemrograman JavaScript

属性是任何 JavaScript 对象最重要的部分。

JavaScript 属性

属性指的是与 JavaScript 对象相关的值。

JavaScript 对象是无序属性的集合。

属性通常可以被修改、添加和删除,但是某些属性是只读的。

访问 JavaScript 属性

访问对象属性的语法是:

objectName.property           // person.age

或者:

objectName["property]       // person["age"]

或者:

objectName[expression]       // x = "age"; person[x]

表达式必须计算为属性名。

例子 1

person.firstname + " is " + person.age + " years old.";

Coba Sendiri

例子 2

person["firstname"] + " is " + person["age"] + " years old.";

Coba Sendiri

JavaScript for...in 循环

JavaScript for...in 语句遍历对象的属性。

语法

for (variable in object) {
    要执行的代码
}

for...in 循环中的代码块会为每个属性执行一次。

循环对象的属性:

实例

var person = {fname:"Bill", lname:"Gates", age:62}; 
for (x in person) {
    txt += person[x];
}

Coba Sendiri

添加新属性

您可以通过简单的赋值,向已存在的对象添加新属性。

假设 person 对象已存在 - 那么您可以为其添加新属性:

实例

person.nationality = "English";

Coba Sendiri

您不能使用预留词作为属性名(或方法名)。请使用 JavaScript 命名规则。

删除属性

delete 关键词从对象中删除属性:

实例

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
delete person.age;   // atau delete person["age"];

Coba Sendiri

delete Kata kunci akan menghapus nilai dan properti sendiri sekaligus.

Setelah penghapusan selesai, properti tidak dapat digunakan sampai ditambahkan kembali.

delete Operator dirancang untuk properti objek. Ini tidak mempengaruhi variabel atau fungsi.

delete Operator tidak boleh digunakan untuk properti objek JavaScript yang diatur sebelumnya. Hal ini akan membuat aplikasi gagal.

Nilai Properti

Semua properti memiliki nama. Selain itu, mereka juga memiliki nilai.

Nilai adalah salah satu fitur properti.

Fitur lain termasuk: dapat dihitung, dapat diatur, dan dapat ditulis.

Fitur ini menentukan cara akses properti (bisa dibaca atau dapat ditulis?)

Dalam JavaScript, semua properti adalah dapat dibaca, tetapi hanya nilai yang dapat diubah (hanya ketika properti dapat ditulis).

(ECMAScript 5 memiliki metode untuk mengambil dan menetapkan fitur semua properti)

Properti Prototipe

Objek JavaScript mewarisi properti dari prototipe mereka.

delete Kata kunci tidak akan menghapus properti yang diwarisi, tetapi jika Anda menghapus properti prototipe, hal ini akan mempengaruhi semua objek yang menerima warisan dari prototipe.