美文网首页
6.对象的扩展

6.对象的扩展

作者: web_jianshu | 来源:发表于2020-06-28 17:03 被阅读0次
<!DOCTYPE html>

<html lang="en">

  <head>

    <meta charset="UTF-8" />

    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <meta http-equiv="X-UA-Compatible" content="ie=edge" />

    <title>Document</title>

  </head>

  <body></body>

</html>

<script>

  // 对象的扩展:

  // 1、对象的简写:当属性名和属性值相同时,可以省略属性值, 方法的简写直接把function去掉

  // 2、对象的属性名(原本是字符串,只是书写可以省略双引号)允许为变量(vue, react) [变量]

  // 方法:Object.is 和 === 一样

  // Object.assign合并对象,对象的浅拷贝

  // 对象的扩展运算符: 把对象转成用逗号隔开表达式

  let name = "Jack";

  let key = "age";

  let person = {

    name,

    [key]: 19, // 属性名是变量了 === age: 19

    sayHi() {

      console.log("hello world");

    }

  };

  // console.log(person.name); // Jack

  // person.sayHi()

  // 属性名可以为表达式

  // console.log(person.age); // 19

  // console.log(Object.is(1, '1')); // false

  // console.log(Object.assign(person, { gender: "男" }, { hobbies: "女" })); // {name: "Jack", age: 19, gender: "男", hobbies: "女", sayHi: ƒ}

  // let proto = { a: 1 };

  // let obj = { x: 10 };

  // Object.setPrototypeOf(obj, proto); // 继承的时候 JS面向对象的课程的时候

  // console.log(obj, proto); // obj的__proto__指向proto 也就是说obj继承proto

  // for (let k in person) {

  //   console.log(person[k]);

  // }

  // for (let value of Object.values(person)) {

  //   console.log(value);

  // }

  // for (let k of Object.keys(person)) {

  //   console.log(k);

  // }

  // 扩展运算符 1、拷贝对象 2、合并对象 3、与解构赋值配合

  // let p1 = { ...person };

  // console.log(p1); // {name: "Jack", age: 19, sayHi: ƒ}

  // let p2 = { love: "you", ...person, like: "myself" };

  // console.log(p2); // {love: "you", name: "Jack", age: 19, like: "myself", sayHi: ƒ}

  // let { love, ...p } = p2;

  // console.log(p); // {name: "Jack", age: 19, like: "myself", sayHi: ƒ}

  // 函数参数解构

  // function test({ name, age, sayHi }) {

  //   // 相当于 let { name, age, sayHi } = person 或者 let [{ name, age, sayHi }] = arguments

  //   console.log(name, age, sayHi);

  // }

  // test(person);

  // Object.entries() 把对象或数组转化为二维数组 元素是所有健和值组成的数组

  // 成员是参数对象自身的所有可遍历属性的健值对数组

  let OBJ = { name: "jack", age: 19, hobbits: "吃", like: "dance" };

  let OBJARR = Object.entries(OBJ);

  // console.log(OBJARR); // [["name", "jack"], ["age", 19], ["hobbits", "吃"], ["like", "dance"]]

  for (let [key, value] of OBJARR) {

    console.log(`${key}: ${value}`);

  }

</script>

相关文章

  • 6.对象的扩展

  • web-jianshu es6/es7新语法

    1.let和const 2.数组的解构 3.对象的解构 4.函数参数的解构 5.数组的扩展 6.对象的扩展 7.函...

  • JQuery插件

    类扩展: 对象扩展:

  • 《ECMAScript 6 入门》笔记

    变量的解构赋值 字符串的扩展 正则的扩展 数值的扩展 函数的扩展 数组的扩展 对象的扩展 对象的新增方法 表单验证...

  • 6. 函数的扩展

    基本用法 在之前,我们不能为函数的参数指定默认的值,只能采用变通的方法 在ES6中允许我们为函数的参数设置默认值,...

  • 6.数值的扩展

    2.Number.isFinite() Number.isNaN() ES5 在Number对象上,提供了Numb...

  • 6.函数的扩展

    回到目录 函数参数的默认值 用 es5 来模拟 与解构赋值默认值结合使用 从等同代码可以看出,在做解构之前并没有判...

  • ES6 语法总结

    1. let,const关键词 2. 结构赋值 3. 正则扩展 4. 字符串扩展 5. 数值扩展 6. 数组扩展 ...

  • 对象的扩展

    属性的简洁表示法 ES6 允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。 Object.is(...

  • 对象的扩展

    对象的扩展 属性和方法简写 var foo ='bar' var baz = {foo} <=> va...

网友评论

      本文标题:6.对象的扩展

      本文链接:https://www.haomeiwen.com/subject/igpwfktx.html