# 对象的属性

ES6 中允许直接将变量和函数作为对象的属性和方法。

let name = "张无忌";
function sayMe() {
  console.log("this is 张无忌");
}
var obj = {
  // ES6 运行变量名直接作为对象的属性和方法
  name,
  sayMe,
};
console.log(obj.name);// 张无忌

# Object 的方法

  1. is()

    对同值相等算法的具体实现

    console.log(Object.is(+0, -0)); // false
    console.log(Object.is(NaN, NaN)); // true
  2. assign(target,...sources) 方法

    用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。

    • target :目标对象
    • sources :源对象
    • 返回值:目标对象
    var obj = {
      name: "张无忌",
      age: 18,
    };
    var target = {};
    let result = Object.assign(target, obj);
    console.log(result, target); // {name: ' 张无忌 ', age: 18} { name: ' 张无忌 ', age: 18 }

# super 关键字

super 用于指向当前对象的原型对象。

var prop = {
  age: 18,
};
var obj = {
  name: "张无忌",
  sayMe() {
    console.log(super.age); // prop.age
  },
};
Object.setPrototypeOf(obj, prop);
obj.sayMe();

# 对象的扩展运算符

用于取出参数对象的所有可遍历属性,拷贝到当前对象之中。

var obj = {
  name: "张无忌",
  age: 18,
};
// 将元对象的可枚举的属性复制到目标对象。
var target = { ...obj };
console.log(target); // {name: ' 张无忌 ', age: 18}
更新于

请我喝[茶]~( ̄▽ ̄)~*

Dreamy.TZK 微信支付

微信支付

Dreamy.TZK 支付宝

支付宝