JavaScript基础教程(九十)实例之对象 实例:解剖对象,从内存到实战,解锁JS核心玩法

JavaScript对象深度解析

对象:不只是键值对

JavaScript对象远不止简单的键值集合,它们是动态属性的容器,每个属性都包含值及其可写性、可枚举性和可配置性的特性。

// 创建对象的三种方式
const obj1 = {}; // 字面量
const obj2 = new Object(); // 构造函数
const obj3 = Object.create(null); // 指定原型

// 属性描述符详解
const user = {};
Object.defineProperty(user, 'name', {
  value: 'John',
  writable: false, // 不可写
  enumerable: true, // 可枚举
  configurable: true // 可配置
});

原型链:JS的继承魔法

每个对象都有隐藏的__proto__属性,指向其原型对象,形成原型链实现继承。

// 原型继承示例
const animal = { eats: true };
const rabbit = { jumps: true };

rabbit.__proto__ = animal; // 设置原型

console.log(rabbit.eats); // true,从animal继承

现代JS对象技巧

ES6引入的对象解构、扩展运算符等方法极大提升了开发效率。

// 对象解构与扩展
const person = { name: 'Alice', age: 30, city: 'Beijing' };
const { name, ...rest } = person; // 解构

const updated = { ...person, age: 31 }; // 扩展运算符创建新对象

// 对象冻结防止意外修改
const config = Object.freeze({ apiUrl: 'https://api.example.com' });

掌握这些对象特性与技巧,能够写出更健壮、高效的JavaScript代码,真正发挥这门语言的强大威力。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

值引力

持续创作,多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值