【ES6复习笔记】对象方法扩展(17)

对象方法扩展

在 JavaScript 中,对象是属性和方法的集合。除了内置的方法,我们还可以通过扩展对象的原型来添加新的方法。本教程将介绍如何使用 Object.is、Object.assign 和 Object.setPrototypeOf 方法来扩展对象。

1. Object.is 判断两个值是否完全相等

Object.is 方法用于比较两个值是否相等,类似于 === 操作符,但它对一些特殊情况的处理有所不同。

javascript 复制代码
console.log(Object.is(120, 120)); // true
console.log(Object.is(NaN, NaN)); // true
console.log(NaN === NaN); // false

2. Object.assign 对象的合并

Object.assign 方法用于将一个或多个源对象的所有可枚举属性复制到目标对象,并返回目标对象。

javascript 复制代码
const config1 = {
    host: 'localhost',
    port: 3306,
    name: 'root',
    pass: 'root',
    test: 'test'
};

const config2 = {
    host: 'http://atguigu.com',
    port: 33060,
    name: 'atguigu.com',
    pass: 'iloveyou',
    test2: 'test2'
};

console.log(Object.assign(config1, config2));

3. Object.setPrototypeOf 设置原型对象 Object.getPrototypeOf

Object.setPrototypeOf 方法用于设置一个对象的原型对象,而 Object.getPrototypeOf 方法用于获取一个对象的原型对象。

javascript 复制代码
const school = {
    name: '尚硅谷'
};

const cities = {
    xiaoqu: ['北京', '上海', '深圳']
};

Object.setPrototypeOf(school, cities);
console.log(Object.getPrototypeOf(school));
console.log(school);

通过这些方法,我们可以更灵活地操作和扩展对象。

相关推荐
小码哥_常2 分钟前
一套自己部署的 IM,客户端是同一份 Flutter
前端·后端
蜗牛攻城狮2 小时前
微前端四大方案选型对比与最佳实践:qiankun、micro-app、wujie、Module Federation
前端·微前端·qiankun·前端架构·micro-app·wujie
sbjdhjd3 小时前
网工进阶笔记:H3CSE 园区网全栈技术与协议汇总
网络·笔记·云计算·ssh·网络工程·vlan·aaa
她说可以呀4 小时前
Vue插槽
前端·javascript·vue.js
qq_448011164 小时前
Vue + Jinja2两套模版与法冲突造成undefinedError
前端·javascript·vue.js
aixingpan4 小时前
aixingpan.cn API开发文档:前端查询夏令时和时区接口指南
前端·php
2601_958352905 小时前
23.5×19mm 换掉一整条音频链?|A-68 集成了什么:ADC / DAC / 24.576MHz 时钟 / AEC / 波束降噪,主控仅需 6 根线
前端·音视频·ai降噪·回声消除·语音模块
志尊宝5 小时前
AI原生前端开发(039):AI辅助的Nuxt 4全栈开发
前端·vue.js·ai-native
FRing036 小时前
JavaScript入门到精通三十二(深拷贝、浅拷贝、递归函数)
开发语言·前端·javascript
海绵宝宝的月光宝盒6 小时前
14-AutoCAD-阵列命令应用与案例实战(AR)
经验分享·笔记·自动化·课程设计·制造·学习方法·cad