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”的参数,飞入了函数之中,函数进行一系列处理后会出现一些结果。

  • 相关阅读:
    output在delete中的应用
    静态什么时候用?
    Main函数解析
    构造函数
    Main函数解析
    java类类型
    静态使用的注意事项
    Main函数剖析
    成员变量和局部变量的区别
    static的特点
  • 原文地址:https://www.cnblogs.com/flyover/p/14157652.html
Copyright © 2011-2022 走看看