반응형
스크립트 + 스크립트에서 변수의 유형을 확인하는 방법은 무엇입니까?
typescript + angular 변수의 유형을 확인하는 방법을 알려주시겠습니까?
import { Component } from '@angular/core';
interface Abc {
name : string
}
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
name = 'Angular 6';
a:Abc= {
name:"sss"
}
constructor(){
console.log(typeof this.a)
// console.log(this.a instanceof Abc)
}
}
그것은 주어야 합니다.true
그리고.false
https://stackblitz.com/edit/angular-jfargi?file=src/app/app.component.ts
인터페이스는 런타임에 지워지므로 런타임 호출에서 인터페이스의 추적이 없습니다.인터페이스 대신 클래스를 사용할 수 있습니다(클래스는 런타임에 존재하고 준수함).instanceof
class Abc {
private noLiterals: undefined;
constructor(public name: string) { }
}
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
name = 'Angular 6';
a: Abc = new Abc( "sss")
constructor() {
console.log(this.a instanceof Abc) // Will be true
}
}
또는 구조 검사를 수행하여 다음과 같은 특성이 있는지 확인할 수 있습니다.Abc
개체에 런타임에 있습니다.
export class AppComponent {
name = 'Angular 6';
a: Abc = { name: "sss" }
constructor() {
console.log('name' in this.a) // Will be true
}
}
그냥 쓰기typeof(variable);
그래서 당신의 경우:
console.log(typeof(this.a));
'instance of' 또는 'is'를 사용해 보십시오.
a instanceof Abc;
참고 항목:유형 스크립트로 클래스 유형 확인
기본 유형(문자열, 숫자 등)의 경우 다음과 같이 확인할 수 있습니다.
if( typeof(your_variable) === 'string' ) { ... }
인터페이스는 컴파일 시에만 존재하며 컴파일 후에는 제거되므로 런타임에 코드가 의미가 없습니다.그렇게 노력하면 그것은 항상 돌아올 것입니다.
false
.
여기 보세요.
constructor(){
console.log(typeof(this.a), '---');
console.log(this.instanceOfA(this.a));
}
instanceOfA(object: any): object is ABc {
return 'member' in object;
}
작업 예제
자세한 내용은 여기를 참조하십시오.
이것을 먹어보세요.
console.log(typeof (this.specialProviderSelected));
우리는 문자열, 숫자, 객체 등과 같은 변수의 유형을 확인할 수 있습니다.
if((typeof (this.specialProviderSelected)) === 'string') {
action here...
}
if((typeof (this.specialProviderSelected)) === 'number') {
action here...
}
if((typeof (this.specialProviderSelected)) === 'object') {
action here...
}
언급URL : https://stackoverflow.com/questions/51190383/how-to-check-type-of-variable-in-typescript-angular
반응형
'prosource' 카테고리의 다른 글
Xcode 4.3에서 "응용 프로그램에 유효한 'aps-environment' 자격 문자열을 찾을 수 없음"을 수정하는 방법은 무엇입니까? (0) | 2023.06.07 |
---|---|
MSBuild 스크립트 및 VS2010 게시 apply Web.config Transform (0) | 2023.06.07 |
Visual Format Language(시각적 형식 언어)를 사용하여 뷰의 중앙에 보기 (0) | 2023.06.07 |
요청 실패: 허용되지 않는 내용 유형: AFNetworking 2.0을 사용하는 text/html (0) | 2023.06.07 |
C 및 C++에서 인덱스[어레이]로 어레이 액세스 (0) | 2023.06.07 |