Thí dụ
Sử dụng object.keys [] trên một mảng:
const fruits = ["chuối", "cam", "táo", "xoài"]; const keys = object.keys [trái cây];
const keys = Object.keys[fruits];
Hãy tự mình thử »
Sử dụng object.keys [] trên một chuỗi:
const trái cây = "chuối"; const keys = object.keys [trái cây];
const keys = Object.keys[fruits];
Hãy tự mình thử »
Sử dụng object.keys [] trên một chuỗi:
const trái cây = "chuối"; const keys = object.keys [trái cây];
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
const keys = Object.keys[person];
Hãy tự mình thử »
Sử dụng object.keys [] trên một chuỗi:
const trái cây = "chuối"; const keys = object.keys [trái cây];
Sử dụng object.keys [] trên một đối tượng:
const person = {& nbsp; & nbsp; firstName: "john", & nbsp; & nbsp; lastName: "doe", & nbsp; & nbsp; tuổi: 50, & nbsp; const keys = object.keys [người];
Định nghĩa và cách sử dụng
Phương thức Object.keys[] trả về một đối tượng lặp mảng với các khóa của một đối tượng. | Phương thức Object.keys[] không thay đổi đối tượng gốc. |
Cú pháp | Thông số An iterable object. |
Tham số
Sự mô tả | Phương thức Object.keys[] không thay đổi đối tượng gốc. |
Cú pháp | Thông số |
Tham số
Sự mô tả
sự vật
Yêu cầu. | Giá trị trả về | Loại hình | Một mảng | Một đối tượng lặp mảng chứa các khóa của một đối tượng. |
Hỗ trợ trình duyệt | Hỗ trợ trình duyệt | Hỗ trợ trình duyệt | Hỗ trợ trình duyệt | Hỗ trợ trình duyệt |
Object.keys[]
là tính năng ECMAScript6 [ES6].
Ecmascript 5 [2009] đã thêm rất nhiều phương thức đối tượng mới vào JavaScript.
Quản lý các đối tượng
// Tạo đối tượng với một đối tượng hiện có dưới dạng nguyên mẫu đối tượng.create []
Object.create[]
// Thêm hoặc thay đổi một đối tượng đối tượng đối tượng.defineProperty [đối tượng, thuộc tính, mô tả]
Object.defineProperty[object, property, descriptor]
// Thêm hoặc thay đổi thuộc tính đối tượng Object.defineProperIES [đối tượng, mô tả]
Object.defineProperties[object, descriptors]
// Truy cập thuộc tính Object.GetOwnPropertyDescriptor [đối tượng, thuộc tính]
Object.getOwnPropertyDescriptor[object, property]
// Trả về tất cả các thuộc tính dưới dạng đối tượng mảng.getOwnPropertyNames [Đối tượng]
Object.getOwnPropertyNames[object]
// truy cập đối tượng nguyên mẫu.getPrototype [Object]
Object.getPrototypeOf[object]
// Trả về các thuộc tính Enumable dưới dạng đối tượng mảng.Keys [đối tượng]
Object.keys[object]
Bảo vệ các đối tượng
// Ngăn chặn thêm thuộc tính vào một đối tượng.PreventExtensions [đối tượng]
Object.preventExtensions[object]
// Trả về true nếu các thuộc tính có thể được thêm vào một đối tượng.
Object.isExtensible[object]
// Ngăn chặn các thay đổi của các thuộc tính đối tượng [không phải giá trị] Object.Seal [Object]
Object.seal[object]
// Trả về true nếu đối tượng được niêm phong đối tượng.
Object.isSealed[object]
// Ngăn chặn mọi thay đổi đối với đối tượng.Freeze [Đối tượng]
Object.freeze[object]
// Trả về true nếu đối tượng là đối tượng đông lạnh.isfrozen [đối tượng]
Object.isFrozen[object]
Thay đổi giá trị tài sản
Cú pháp
Object.defineProperty [Object, Property, {value: value}]
Ví dụ này thay đổi giá trị thuộc tính:
Thí dụ
const person = {& nbsp; & nbsp; firstName: "john", & nbsp; Tên cuối cùng: "doe", & nbsp; ngôn ngữ: Việt Nam" };
firstName:
"John",
lastName : "Doe",
language : "EN"
};
// thay đổi một propertyObject.defineProperty [người, "ngôn ngữ", {value: "no"}];
Object.defineProperty[person, "language", {value : "NO"}];
Hãy tự mình thử »
Thay đổi dữ liệu meta
ES5 cho phép thay đổi dữ liệu meta thuộc tính sau:
Có thể viết: Đúng & NBSP; & nbsp; & nbsp; & nbsp; & nbsp; // giá trị tài sản có thể được thay đổi có thể thay đổi: true & nbsp; & nbsp; // thuộc tính có thể được liệt kê có thể định cấu hình: true & nbsp; // tài sản có thể được cấu hình lại
enumerable :
true // Property can be enumerated
configurable : true // Property can be reconfigured
Có thể ghi: Sai & nbsp; & nbsp; & nbsp; & nbsp; // Giá trị tài sản không thể thay đổi Enumable: false & nbsp; & nbsp; // Thuộc tính không thể được liệt kê có thể định cấu hình: Sai // Thuộc tính không thể được cấu hình lại
enumerable : false // Property can be not enumerated
configurable : false // Property can be not reconfigured
ES5 cho phép getters và setters được thay đổi:
// Xác định getter get: function [] {return ngôn ngữ} // Xác định bộ setter: function [value] {ngôn ngữ = value}
get: function[] { return language }
// Defining a setter
set: function[value] { language = value }
Ví dụ này làm cho ngôn ngữ chỉ đọc:
Object.defineProperty [người, "ngôn ngữ", {writable: false}];
Ví dụ này làm cho ngôn ngữ không thể phản đối:
Object.defineProperty [người, "ngôn ngữ", {có thể phản đối: false}];
Liệt kê tất cả các thuộc tính
Ví dụ này liệt kê tất cả các thuộc tính của một đối tượng:
Thí dụ
const person = {& nbsp; & nbsp; firstName: "john", & nbsp; Tên cuối cùng: "doe", & nbsp; ngôn ngữ: Việt Nam" };
firstName: "John",
lastName :
"Doe",
language : "EN"
};
// thay đổi một propertyObject.defineProperty [người, "ngôn ngữ", {value: "no"}];
Object.getOwnPropertyNames[person]; // Returns an array of properties
Hãy tự mình thử »
Thay đổi dữ liệu meta
ES5 cho phép thay đổi dữ liệu meta thuộc tính sau:
Thí dụ
const person = {& nbsp; & nbsp; firstName: "john", & nbsp; Tên cuối cùng: "doe", & nbsp; ngôn ngữ: Việt Nam" };
firstName:
"John",
lastName : "Doe",
language : "EN"
};
// thay đổi một propertyObject.defineProperty [người, "ngôn ngữ", {value: "no"}];
Object.keys[person]; // Returns an array of enumerable properties
Hãy tự mình thử »
Thay đổi dữ liệu meta
ES5 cho phép thay đổi dữ liệu meta thuộc tính sau:
Thí dụ
const person = {& nbsp; & nbsp; firstName: "john", & nbsp; Tên cuối cùng: "doe", & nbsp; ngôn ngữ: Việt Nam" };
const
person = {
firstName: "John",
lastName : "Doe",
language : "EN"
};
// thay đổi một propertyObject.defineProperty [người, "ngôn ngữ", {value: "no"}];
Object.defineProperty[person, "year", {value:"2008"}];
Hãy tự mình thử »
Thay đổi dữ liệu meta
ES5 cho phép thay đổi dữ liệu meta thuộc tính sau:
Thí dụ
const person = {& nbsp; & nbsp; firstName: "john", & nbsp; Tên cuối cùng: "doe", & nbsp; ngôn ngữ: Việt Nam" };
const
person = {firstName:"John", lastName:"Doe"};
// thay đổi một propertyObject.defineProperty [người, "ngôn ngữ", {value: "no"}];
Object.defineProperty[person, "fullName", {
get: function [] {return this.firstName + " " + this.lastName;}
}];
Hãy tự mình thử »
Thay đổi dữ liệu meta
Thí dụ
const person = {& nbsp; & nbsp; firstName: "john", & nbsp; Tên cuối cùng: "doe", & nbsp; ngôn ngữ: Việt Nam" };
const obj = {counter:0};
// thay đổi một propertyObject.defineProperty [người, "ngôn ngữ", {value: "no"}];
Object.defineProperty[obj, "reset", {
get : function [] {this.counter = 0;}
}];
Object.defineProperty[obj, "increment", {
get : function [] {this.counter++;}
}];
Object.defineProperty[obj, "decrement", {
get : function [] {this.counter--;}
}];
Object.defineProperty[obj, "add", {
set : function [value] {this.counter += value;}
}];
Object.defineProperty[obj, "subtract", {
set : function [i]
{this.counter -= i;}
}];
Hãy tự mình thử »
obj.reset;
obj.add = 5;
obj.subtract = 1;
obj.increment;
obj.decrement;
Hãy tự mình thử »