在 JavaScript 中,对象是键值对的集合,其中值可以是数据(属性)或函数(方法)。对象是 JavaScript 的基础,因为 JavaScript 中几乎所有内容都是对象,包括数组、函数,甚至其他对象。
创建对象的最简单方法是使用大括号 {}。
例子:
const person = { name: "Alice", age: 25, greet: function () { console.log("Hello!"); }, }; console.log(person.name); // Output: Alice person.greet(); // Output: Hello!
使用对象构造函数创建一个空对象。
例子:
const person = new Object(); person.name = "Bob"; person.age = 30; person.greet = function () { console.log("Hi!"); }; console.log(person.name); // Output: Bob person.greet(); // Output: Hi!
该方法创建一个具有指定原型的新对象。
例子:
const prototype = { greet: function () { console.log("Hello!"); } }; const person = Object.create(prototype); person.name = "Charlie"; console.log(person.name); // Output: Charlie person.greet(); // Output: Hello!
使用点 (.) 访问属性。
例子:
console.log(person.name); // Output: Alice
使用方括号 ([]) 访问属性。对于动态属性名称很有用。
例子:
console.log(person["name"]); // Output: Alice const key = "age"; console.log(person[key]); // Output: 25
person.country = "USA"; console.log(person.country); // Output: USA
person.age = 26; console.log(person.age); // Output: 26
delete person.age; console.log(person.age); // Output: undefined
当函数是对象的属性时,它被称为 方法.
例子:
const car = { brand: "Tesla", start: function () { console.log("Car started!"); }, }; car.start(); // Output: Car started!
迭代对象的所有可枚举属性。
例子:
for (let key in person) { console.log(`${key}: ${person[key]}`); }
返回对象键的数组。
例子:
Object.keys(person).forEach((key) => { console.log(`${key}: ${person[key]}`); });
返回[键,值]对的数组。
例子:
Object.entries(person).forEach(([key, value]) => { console.log(`${key}: ${value}`); });
JavaScript 提供了几种处理对象的内置方法。
const target = { a: 1 }; const source = { b: 2 }; Object.assign(target, source); console.log(target); // Output: { a: 1, b: 2 }
const obj = { a: 1 }; Object.freeze(obj); obj.a = 2; // No effect console.log(obj.a); // Output: 1
const obj = { a: 1 }; Object.seal(obj); obj.b = 2; // No effect obj.a = 3; // Works console.log(obj); // Output: { a: 3 }
JavaScript 中的对象有一个原型,它是它们继承属性和方法的另一个对象。
例子:
const animal = { eats: true }; const dog = Object.create(animal); dog.barks = true; console.log(dog.eats); // Output: true (inherited) console.log(dog.barks); // Output: true
解构允许将对象的属性提取到变量中。
例子:
const person = { name: "Alice", age: 25 }; const { name, age } = person; console.log(name); // Output: Alice console.log(age); // Output: 25
嗨,我是 Abhay Singh Kathayat!
我是一名全栈开发人员,拥有前端和后端技术方面的专业知识。我使用各种编程语言和框架来构建高效、可扩展且用户友好的应用程序。
请随时通过我的商务电子邮件与我联系:[email protected]。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3