美文网首页
ES6中Decorator修饰器的用法

ES6中Decorator修饰器的用法

作者: 易路先登 | 来源:发表于2019-06-22 03:57 被阅读0次

Decorator是一个函数,用来修改类的行为,即可修饰类的静态属性,也可修饰类的原型上的函数。

  • 修改类的静态属性
function addName(name){
    return function(target) {
      target.name = name;
    }
};
@addName('zhangsan')
class Person{}
console.log(Person.name);//zhangsan
  • 修改类的原型方法
function readonly(target, name, descriptor){
  // descriptor对象原来的值如下
  // {
  //   value: specifiedFunction,
  //   enumerable: false,
  //   configurable: true,
  //   writable: true
  // };
  descriptor.writable = false;
  return descriptor;
}
class Person {
  @readonly
  name() { return '被修饰的函数' }
}
//如此Person原型上的name函数就不可被覆盖
let per = new Person();
per.name = function(){};//这步相当于覆盖原型方法,因为修饰了不可被覆盖,所以会报错

ES6总篇--目录

相关文章

  • ES6中Decorator修饰器的用法

    Decorator是一个函数,用来修改类的行为,即可修饰类的静态属性,也可修饰类的原型上的函数。 修改类的静态属性...

  • 27- ES6 装饰器

    1、类的修饰 decorator(target) {} 许多面向对象的语言都有修饰器(Decorator)函数,...

  • ES6之修饰器Decorator

    ES6为类提供修改行为的修饰器函数Decorator,修饰器是一个对类进行处理的函数,它的第一个参数就是要修...

  • es6超好用的语法糖Decorator

    Decorator(修饰器/装饰器)是es6提出的语法糖,用于修改类的行为。不过目前主流浏览器都没有很好的支持,我...

  • @修饰器Decorator

    编前语 修改类的行为 修饰类、修饰类的属性 ES7的一个提案 类的改变在代码编译时发生,不是在运行时 babel转...

  • Decorator 修饰器

    修饰器 修饰器是 ES7 提出的一个提案,用来修改类的行为。目前需要 babel 才可以使用。它最大的特点是:可以...

  • Decorator

    标签(空格分隔): 前端 es6 概念 修饰器(Decorator)是一个函数,用来修改类的行为。这是ES7的一个...

  • ES6(十七):ES2017中的修饰器Decorator

    前面的话   修饰器(Decorator)是一个函数,用来修改类的行为。本文将详细介绍ES2017中的修饰器Dec...

  • es6学习笔记整理(十六)Decorators

    Decorator修饰器 修饰器是一个函数用来修改类的行为: 1、修饰器是一个函数 2、修改行为 3、修改类的行为...

  • (二)20.Decorator19-08-15

    Decorator - 1基本概念 Decorator(修饰器)是一个函数用来修改类的行为,(扩展类的功能,只在类...

网友评论

      本文标题:ES6中Decorator修饰器的用法

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