2016-08-27 6 views
0

definitelyTyped의 javascript 선언 typescript 파일에서 정적 메서드와 인스턴스 메서드 및 다른 메서드를 인식하는 방법은 무엇입니까?
예를 들어, exampleString.length는 인스턴스 메서드이고,
String.fromCharCode()는 정적 메서드입니다.
다른 정적 메서드를 인식하는 스크립트를 작성하는 방법을 찾고있었습니다. typescript 서비스 API를 사용하여 무언가를 말하십시오.정적 메서드와 인스턴스 메서드를 자바 스크립트 선언 typescript 파일에서 구별 할 수있는 방법은 definitelyTyped입니까?

답변

1

의견이 너무 깁니다.

먼저 String.prototype.length은 방법이 아니므로 값입니다. 생성자 함수가 class 키워드를 사용하여 정의 된 경우 메서드가 생성자 또는 인스턴스에 정의되어 있는지 여부를 확인하여 정적 및 비 정적 메서드를 검색 할 수 있습니다.

class foo{ 
    bar(){} 
    static baz(){} 
} 

var instance = new foo(); 

console.log(instance.constructor.bar); // undefined 
console.log(instance.constructor.baz); // [Function: baz] 
console.log(instance.bar); // [Function: bar] 
console.log(instance.baz); // undefined 

그래서, 당신은 baz 정적이며 bar가 비 정적 방법이라고 결론을 내릴 수있다. 또한 String.length은 나쁜 예입니다. someString.lengthString.prototype.length에 대한 참조를 가지지 만 String.lengthFunction.prototype.length을 참조합니다.

+0

오, 죄송합니다. 길이에 대해,하지만 다른 정적 메서드를 인식하는 스크립트를 작성하는 방법을 찾고있었습니다. typescript 서비스 API를 사용하여 무언가를 말하십시오. –