zoukankan      html  css  js  c++  java
  • 访问器属性描述符

    • get  无参函数,在属性被读取时工作
    • set   有一个参数的函数,在属性被设置时工作
    • enumerable  可否列举
    • configurable  可否配置
     1 let user = {
     2   name: "John",
     3   surname: "Smith"
     4 };
     5 
     6 Object.defineProperty(user, 'fullName', {
     7   get() {
     8     return `${this.name} ${this.surname}`;
     9   },
    10 
    11   set(value) {
    12     [this.name, this.surname] = value.split(" ");
    13   }
    14 });
    15 
    16 alert(user.fullName); // John Smith
    17 
    18 for(let key in user) alert(key); // name, surname

     user对象新增了一个属性fullName

    正是通过设置属性特性(Object.defineProperty)的方式来添加属性的。

    user.fullName="Alice Cooper";

    把值赋值给fullName,set函数会站出来,说:我来负责这件事,请把值交给我!

    =右边的值作为函数“setter”的参数,飞入了函数之中,函数进行一系列处理后会出现一些结果。

  • 相关阅读:
    浅谈线段树
    浅谈KMP
    20200729线上模拟题解
    20200727线上模拟题解
    声明
    tarjan--割点,缩点
    20201029模拟
    高精模板
    二分图--二分图的几种模型
    树的直径与树的重心
  • 原文地址:https://www.cnblogs.com/flyover/p/14157652.html
Copyright © 2011-2022 走看看