typescript ts 기본 데이터 형식 본질

최근 Google 과 Microsoft 는 Angular 2 로 가 까 워 졌 습 니 다.그 이 유 는 Angular 2 의 기본 언어 인 type: script 과 떨 어 질 수 없습니다.
typescript
type: script (이하 ts 로 약칭) 은 coffeescript 와 마찬가지 로 js 의 문법 사탕 입 니 다.따라서 ts 는 js 의 초 집합 일 뿐 실제 응용 운행 에서 ts 는 js 로 전환 되 어 운행 되 고 한 가지 전환 이 많아 지면 서 물론 일부 성능 도 줄 어 들 었 다.ts 는 나 에 게 정적 언어 프로 그래 밍 스타일 에 계속 접근 하고 있다 는 느낌 을 주 었 고 이것 도 우리 에 게 많은 편 의 를 주 었 다.
예 를 들 어 ts 의 기본 데이터 형식 Number String Boolean
let str:string;
let num:number;
let bool:boolean;

이렇게 하면 ts 가 js 를 강 한 유형의 언어 로 만 든 것 처럼 보인다. 왜냐하면 우 리 는 대응 하 는 유형 에 만 값 을 부여 할 수 있 기 때문이다.예 를 들 어 우리 가 이렇게 할당 하면 오류 가 발생 할 수 있다.
let str:string = 1;

str 는 string 형식 이 고 할당 값 은 1, 1 은 number 형식 이기 때문에 오 류 를 보고 할 수 있 습 니 다.
 error TS2322: Type '1' is not assignable to type 'string'.

하지만!우리 가 tsc 에 의 해 js 로 컴 파일 된 원본 파일 을 보면 깜짝 놀 랄 것 이다.ts 원본 파일
let str:string;
let num:number;
let bool:boolean;

컴 파일 된 js 원본 파일
var str;
var num;
var bool;

비록 ts 가 보 여 준 성명 은 string, number, boolean 이지 만 js 에 서 는 모두 var 로 성명 을 합 니 다. ts 는 js 의 문법 사탕 이기 때 문 입 니 다. 지금 우 리 는 방금 할당 한 문 구 를 살 펴 보 겠 습 니 다.
let str:string = 1;

js 에서 이렇게 됐어 요.
var str = 1;

이렇게 하면 js 에서 자연히 틀린 것 이 없 기 때문에 우 리 는 이 str 를 console 할 수 있다.
1

ts 의 컴 파일 러 는 잘못 보 고 했 지만 이것 은 당신 이 원 하 는 결과 가 아 닐 수도 있 습 니 다. 그러나 사실은 정상적으로 작 동 할 수 있 습 니 다. ts 는 js 의 문법 사탕 일 뿐 입 니 다. ts 에서 bool, number, string 유형 이 든 컴 파일 한 후에 모두 var 입 니 다.아무런 제한 도 하지 않 았 다.

좋은 웹페이지 즐겨찾기