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

对象方法扩展

在 JavaScript 中,对象是属性和方法的集合。除了内置的方法,我们还可以通过扩展对象的原型来添加新的方法。本教程将介绍如何使用 Object.isObject.assignObject.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);

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

相关推荐
Lin_Aries_04216 分钟前
ETPNav 复现指南:从环境搭建到连续环境视觉语言导航全流程
笔记·具身智能·datawhale
JustHappy6 分钟前
古法编程秘籍(四):函数究竟是什么?把函数最重要的能力一次讲清楚
前端·后端·面试
OpenTiny社区7 分钟前
一行命令添加 AI 对话入口!TinyRobot 也太省事了~
前端·vue.js·ai编程
sagima_sdu9 分钟前
Vue 前端径向渐变背景制作
前端·javascript·vue.js
叶落阁主32 分钟前
Vue3 后台管理系统全局菜单搜索实战:Cmd/Ctrl + K、权限菜单与拼音过滤
前端·javascript·vue.js
卷帘依旧32 分钟前
setState是同步的还是异步的
前端·面试
卷帘依旧33 分钟前
讲一下useEffect和useLayoutEffect
前端·面试
wuhen_n34 分钟前
AI Agent 入门:从零实现 LangChain 基础智能体
前端·langchain·ai编程
一口吃俩胖子1 小时前
【脉宽调制DCDC功率变换学习笔记023】渐进分析法
笔记·学习
MacroZheng1 小时前
阿里Qoder + GLM-5.1,夯爆了!
前端·vue.js·人工智能