返回值:修改后的目标对象。
例子:
const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
const returnedTarget = Object.assign(target, source);
console.log(target);
// expected output: Object { a: 1, b: 4, c: 5 }
console.log(returnedTarget);
// expected output: Object { a: 1, b: 4, c: 5 }
注意:如果源对象中的属性具有相同的键,则目标对象中的属性会被源中的属性覆盖。较晚来源的属性会覆盖较早来源的属性。
3、Object.entries()
Object.entries() 方法返回给定对象自己的可枚举字符串键属性 [key, value] 对的数组。
它类似于使用 for…in 循环进行迭代,除了 for…in 循环还会枚举原型链中的属性。属性的顺序与通过手动循环对象的属性值给出的顺序相同。
语法:Object.entries(obj)
参数:
obj:要返回其自己的可枚举字符串键属性 [key, value] 对的对象。
返回值:给定对象自己的可枚举字符串键属性 [key, value] 对的数组。
例子:
const object1 = {name: “David”, age: 23};
for (const [key, value] of Object.entries(object1)) {
console.log(${key}: ${value}
);
}
// “name: David”
// “age: 23”
4、Object.values()
Object.values() 方法返回给定对象自己的可枚举属性值的数组,其顺序与 for…in 循环提供的顺序相同。
语法:Object.values(obj)
参数:
obj:要返回其可枚举自身属性值的对象。
返回值:包含给定对象自己的可枚举属性值的数组。
例子:
const object1 = {
a: ‘somestring’,
b: 42,
c: false
};
console.log(Object.values(object1));
// expected output: Array [“somestring”, 42, false]
5、Object.prototype.hasOwnProperty()
hasOwnProperty() 方法返回一个布尔值,指示对象是否具有指定的属性作为它自己的属性。
如果指定的属性是对象的直接属性,则该方法返回 true — 即使值为 null 或未定义。如果该属性是继承的或根本没有声明,则返回 false。
语法:hasOwnProperty(prop)
参数
prop:要测试的属性的字符串名称或符号。
返回值:如果对象将指定的属性作为自己的属性,则返回true;否则为false。
例子:
const object1 = {};
object1.property1 = 42;
console.log(object1.hasOwnProperty(‘property1’));
// expected output: true
console.log(object1.hasOwnProperty(‘toString’));
// expected output: false
console.log(object1.hasOwnProperty(‘hasOwnProperty’));
// expected output: false
6、Object.keys()
Object.keys() 方法用于返回给定对象自己的可枚举属性名称的数组,以与普通循环相同的顺序迭代。
语法:Object.keys(obj)
参数:
obj:要返回可枚举自身属性的对象。
返回值:表示给定对象的所有可枚举属性的字符串数组。
例子:
const object1 = {
a: ‘somestring’,
b: 42,
c: false
};
console.log(Object.keys(object1));
// expected output: Array [“a”, “b”, “c”]
7、 Object.prototype.toString()
toString() 方法返回一个表示对象的字符串。当对象将被表示为文本值或以期望字符串的方式引用对象时,将自动调用此方法 id。默认情况下,toString() 方法由从 Object 继承的每个对象继承。
语法:toString()
返回值:表示对象的字符串。
例子:
function Dog(name) {
this.name = name;
}
const dog1 = new Dog(‘Gabby’);
Dog.prototype.toString = function dogToString() {
return ${this.name}
;
};
console.log(dog1.toString());
// expected output: “Gabby”
注意:对于 Numbers 和 Big Ints,toString() 采用可选参数 radix,其值必须最小为 2,最大为 36。
8、Object.freeze()
Object.freeze() 方法冻结一个对象,这意味着它不能再被更改。冻结对象可防止向其添加新属性,防止删除现有属性,防止更改现有属性的可枚举性、可配置性或可写性,并防止更改现有属性的值。它还可以防止其原型被更改。
语法:Object.freeze(obj)
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
图片转存中…(img-leDzMAoA-1714817982341)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!