2016-12-30 2 views
0

방금 ​​각도 2로 응용 프로그램을 배우고 개발했습니다. 우리가 개발에 사용하는 타이프 스크립트 언어는 정말 흥미 롭지 만 타이프 스크립트의 데이터 유형에 관한 질문이 있습니다. typescript 파일은 javascript로 컴파일되었으므로 데이터 형식은 어떻게 javascript로 컴파일됩니까? 예를 들어javascript 파일로 컴파일 된 타이프 스크립트 파일 : 각도 2

:

sample.ts 
value_a : String; 

위는 String 유형의 변수를 선언하는 샘플 타이프 라이터 파일입니다. 이 타이프 스크립트 파일을 컴파일하면 javascript 파일로 컴파일됩니다. 이제이 변수의 데이터 유형은 javascript 파일에 정의됩니다 (내 지식에 따라 자바 스크립트에서 데이터 유형을 정의 할 수 없으므로 일부 변수를 해당 변수에 할당 할 때 자동으로 데이터 유형이 결정됩니다).

답변

0

typescript의 유형은 순전히 컴파일러가 시행해야하는 제한 사항을 파악하기 위해 사용됩니다. value_a에 값을 할당 한 적이 없으므로 런타임에 유형이 undefined이됩니다. 당신이한다면 대신 다음 value_a의 유형 string이 될 것

value_a :string = 'hello'; 

말했다. 아직 타이프에서

동안, 당신이 인 경우에 컴파일러는 당신을 불평 것

value_a = 4; 

말을하려고합니다. 그러나 컴파일 된 자바 스크립트를 처리하면 일반적인 자바 스크립트 규칙이 적용되고 4value_a에 행복하게 지정할 수 있습니다.


참고 : 완성도를 들어 거기입니다 TLDR이고 몇 컴파일러 플래그 - 메타 데이터를 반영 사용할 때 다소 복잡 런타임 타입 정보 메커니즘가 언급해야하지만 각 2에 대한 자세한 내용을 알고 때까지이 모호한입니다 런타임시 정상적인 자바 스크립트를 넘어 모든 유형 정보. 원하는 정보는 개체에 직접 고정해야합니다.

0

Typescript 데이터 형식은 각 변수에 데이터 형식을 정의하여 프로그램에 쉽게 입력 할 수 있습니다. 데이터 형식의 중요성은 Typescript에만 있습니다. javascript로 컴파일 할 때 Typescript에 할당 된 데이터 유형에 관계없이 undefined이됩니다. 코드에서 변수를 가지고 놀면 데이터 유형이 무엇인지 알게되고 코드 작성에 도움이됩니다.

당신이

value_a : String = "ABC"; 
value_a : number = 123; 

value_a = value_b //This will throw compile time error in Typescript, But In Javascript, this is fine 
Typescript-

에서이 코드를 작성하는 경우의가 있다고 가정 해 봅시다
관련 문제