수업 종류 확인
ActionScript에서는 is 연산자를 사용하여 런타임에 유형을 확인할 수 있습니다 .
var mySprite:Sprite = new Sprite();
trace(mySprite is Sprite); // true
trace(mySprite is DisplayObject);// true
trace(mySprite is IEventDispatcher); // true
변수 (확장자 또는)가 특정 클래스 또는 TypeScript와 인터페이스인지 감지 할 수 있습니까?
언어 사양에서 그것에 대해 아무것도 찾을 수 없습니다. 클래스 / 인터페이스로 작업 할 때 있어야합니다.
4.19.4 instanceof 연산자
instanceof
연산자는 상관 형 또는 '기능'인터페이스 유형의 서브 타입이 될 어떤 형으로 왼쪽 피연산자 객체 유형 또는 유형 파라미터 유형 및 오른쪽 피연산자를 필요로한다. 결과는 항상 부울 기본 유형입니다.
그래서 당신은 사용할 수 있습니다
mySprite instanceof Sprite;
이 연산자는 ActionScript에도 있지만 더 이상 사용해서는 안됩니다.
ActionScript 3.0에 새로 도입 된 is 연산자를 사용하면 변수 또는 표현식이 지정된 데이터 유형의 멤버인지 테스트 할 수 있습니다. 이전 버전의 ActionScript에서 instanceof 연산자는이 기능을 제공했지만 ActionScript 3.0에서는 instanceof 연산자를 사용하여 데이터 유형 멤버 자격을 테스트하지 않아야합니다. x instanceof y 표현식은 x의 프로토 타입 체인에서 y의 존재 여부를 검사하기 때문에 isof 연산자를 instanceof 연산자 대신 사용해야합니다 (ActionScript 3.0에서는 프로토 타입 체인이 상속 계층).
TypeScript instanceof
는 같은 문제를 공유합니다. 아직 개발중인 언어이므로 그러한 시설에 대한 제안을하는 것이 좋습니다.
또한보십시오:
- MDN : instanceof
TypeScript에는 런타임에 변수 유형을 확인하는 방법이 있습니다. 유형 술어 를 리턴하는 유효성 검증 함수를 추가 할 수 있습니다 . 따라서 if 문 안에서이 함수를 호출 할 수 있으며 해당 블록 내의 모든 코드를 생각한 형식으로 안전하게 사용할 수 있습니다.
TypeScript 문서의 예 :
function isFish(pet: Fish | Bird): pet is Fish {
return (<Fish>pet).swim !== undefined;
}
// Both calls to 'swim' and 'fly' are now okay.
if (isFish(pet)) {
pet.swim();
}
else {
pet.fly();
}
https://www.typescriptlang.org/docs/handbook/advanced-types.html 에서 자세히 알아보십시오.
참고 URL : https://stackoverflow.com/questions/12789231/class-type-check
'Programing' 카테고리의 다른 글
npm UNMET PEER DEPENDENCY 경고는 어떻게 수정합니까? (0) | 2020.05.10 |
---|---|
TypeError : method ()는 1 개의 위치 인수를 취하지 만 2가 주어졌습니다 (0) | 2020.05.10 |
푸시 알림 기술은 Android에서 어떻게 작동합니까? (0) | 2020.05.10 |
jq를 사용하여 내부 배열의 값을 기반으로 객체 배열을 필터링하는 방법은 무엇입니까? (0) | 2020.05.10 |
JWT를위한 최고의 HTTP 인증 헤더 유형 (0) | 2020.05.10 |