extend function / extend class / mixin
typescript 에서 native type 에 함수를 추가하는 방법
interface 설정
declare 의 사용
declare 는 이 변수가 어딘가에 var 로 정의되어 있다고 compiler 에게 이야기 해주는 역할을 한다. 그래서 output 에 declare 로 설정된 이 변수에 대해 추가로 var 하지 않는다.
static 함수 추가
codes
declare global {
interface Array<T> {
find(value: any):any;
}
interface ArrayConstructor { // static methods
from(arrayLike: any): any;
}
interface String {
startsWith(search: any, pos: any): any;
}
}
if (!Array.prototype.find) {
Object.defineProperty(Array.prototype, 'find', {
value: function(predicate:any) {
...
return undefined;
},
configurable: true,
writable: true
});
}
if (!Array.from) {
Array.from = (function () {
...
// The length property of the from method is 1.
return function from(arrayLike: any/*, mapFn, thisArg */) {
...
return A;
};
}());
}
댓글 없음:
댓글 쓰기