[Javascript] 函數與裝飾器

阮一峰 / ECMAScript 6 入門 / 裝飾器
http://es6.ruanyifeng.com/#docs/decorator

裝飾器只能用於類和類的方法,不能用於函數,因為存在函數提升。如果一定要裝飾函數,可以採用高階函數的形式執行。

function doSomething(name) {
  console.log('Hello, ' + name);
}

function loggingDecorator(wrapped) {
  return function() {
    console.log('Starting');
    const result = wrapped.apply(this, arguments);
    console.log('Finished');
    return result;
  }
}

const wrapped = loggingDecorator(doSomething);


#Javascript, decorator, function, 函數, 裝飾器

留言