기본 구조
function parameterDecorator(
target: any,
methodName: string,
paramIndex: number
) {...}
function parameterDecoratorFactory(...) {
return function(
target: any,
methodName: string,
paramIndex: number
) {...}
}
target, methodName, paramIndex
- target
- methodName
- paramIndex
Parameter Decorator Example1
2woongjae/ts-basic-decorators
function parameterDecorator(
target: any,
methodName: string,
paramIndex: number
) {
console.log('parameterDecorator start');
console.log(target);
console.log(methodName);
console.log(paramIndex);
console.log('parameterDecorator end');
}
class Test7 {
private _name: string;
private _age: number;
constructor(name: string, @parameterDecorator age: number) {
this._name = name;
this._age = age;
}
print(@parameterDecorator message: string) {
console.log(message);
}
}
// parameterDecorator start
// Test7 { print: [Function] }
// print
// 0
// parameterDecorator end
// parameterDecorator start
// [Function: Test7]
// undefined
// 1
// parameterDecorator end