11.对象的扩展方法.html 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. // 1.Object.is() 判断两个值是否全等(===)
  11. console.log(Object.is(12, 12));
  12. console.log(Object.is(13, "13"));
  13. // 2.Object.assign() 对象合并;后面传入的对象若于前面传入的对象有相同值得时候 则覆盖,其余的合并
  14. let obj1 = {
  15. name: "Lucy",
  16. age: 12,
  17. };
  18. let obj2 = {
  19. name: "LiLi",
  20. address: "哈尔滨",
  21. };
  22. // console.log([])
  23. // console.log({})
  24. console.log(Object.assign(obj1, obj2));
  25. console.log({...obj1,...obj2},'合并');
  26. let school = {
  27. address: "哈尔滨",
  28. };
  29. var city = {
  30. name: ["北京", "上海", "广州"],
  31. };
  32. // 3.Object.setPrototypeOf() 给当前对象原型中设置属性
  33. console.log(Object.setPrototypeOf(school, city));
  34. let obj3 = Object.setPrototypeOf(school, city);
  35. // 4.Object.getPrototypeOf() 获取当前对象中的原型属性
  36. console.log(Object.getPrototypeOf(school));
  37. // es8中新增属性
  38. let obj4 = {
  39. name: "图图",
  40. age: 3,
  41. };
  42. // 5.Object.keys() 返回当前可枚举对象的属性键值对数组
  43. console.log(Object.keys(obj4), "keys");
  44. // 6.Object.entries() 返回当前可枚举对象的[key,value]数组
  45. console.log(Object.entries(obj4), "entries");
  46. // 7.Object.values() 返回当前可枚举对象的属性值数组
  47. console.log(Object.values(obj4), "values");
  48. // 8.Object.getOwnPropertyDescriptors() 返回当前传入对象的自身属性
  49. console.log(Object.getOwnPropertyDescriptors(obj4));
  50. // 9.Object.create() 在原型上去创建一个新对象
  51. let obj5 = Object.create(
  52. null,
  53. {
  54. name: {
  55. value: "喜羊羊",
  56. enumerable: true,
  57. configurable: true,
  58. writable: true,
  59. },
  60. age: {
  61. value: 5,
  62. enumerable: true,
  63. configurable: true,
  64. writable: true,
  65. },
  66. }
  67. );
  68. console.log(obj5);
  69. console.log(Object.getOwnPropertyDescriptors(obj5));
  70. let obj6 = {
  71. vase:[1,2,3,4,5]
  72. }
  73. let obj7 = Object.setPrototypeOf(obj5,obj6);
  74. console.log(obj7);
  75. console.log(Object.getPrototypeOf(obj7));
  76. </script>
  77. </body>
  78. </html>