12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>Document</title>
- </head>
- <body>
- <script>
- // 1.Object.is() 判断两个值是否全等(===)
- console.log(Object.is(12, 12));
- console.log(Object.is(13, "13"));
- // 2.Object.assign() 对象合并;后面传入的对象若于前面传入的对象有相同值得时候 则覆盖,其余的合并
- let obj1 = {
- name: "Lucy",
- age: 12,
- };
- let obj2 = {
- name: "LiLi",
- address: "哈尔滨",
- };
- // console.log([])
- // console.log({})
- console.log(Object.assign(obj1, obj2));
- console.log({...obj1,...obj2},'合并');
- let school = {
- address: "哈尔滨",
- };
- var city = {
- name: ["北京", "上海", "广州"],
- };
- // 3.Object.setPrototypeOf() 给当前对象原型中设置属性
- console.log(Object.setPrototypeOf(school, city));
- let obj3 = Object.setPrototypeOf(school, city);
- // 4.Object.getPrototypeOf() 获取当前对象中的原型属性
- console.log(Object.getPrototypeOf(school));
- // es8中新增属性
- let obj4 = {
- name: "图图",
- age: 3,
- };
- // 5.Object.keys() 返回当前可枚举对象的属性键值对数组
- console.log(Object.keys(obj4), "keys");
- // 6.Object.entries() 返回当前可枚举对象的[key,value]数组
- console.log(Object.entries(obj4), "entries");
- // 7.Object.values() 返回当前可枚举对象的属性值数组
- console.log(Object.values(obj4), "values");
- // 8.Object.getOwnPropertyDescriptors() 返回当前传入对象的自身属性
- console.log(Object.getOwnPropertyDescriptors(obj4));
- // 9.Object.create() 在原型上去创建一个新对象
- let obj5 = Object.create(
- null,
- {
- name: {
- value: "喜羊羊",
- enumerable: true,
- configurable: true,
- writable: true,
- },
- age: {
- value: 5,
- enumerable: true,
- configurable: true,
- writable: true,
- },
- }
- );
- console.log(obj5);
- console.log(Object.getOwnPropertyDescriptors(obj5));
- let obj6 = {
- vase:[1,2,3,4,5]
- }
- let obj7 = Object.setPrototypeOf(obj5,obj6);
- console.log(obj7);
- console.log(Object.getPrototypeOf(obj7));
- </script>
- </body>
- </html>
|