타입스크립트 코리아 이웅재님의 강의 참조
2017 - 10 - 29 (일)
var/const/let
var
ES5
변수의 유효범위 : 함수 스코프
호이스팅 ( 변수를 후에 선언할 수 있음.)
console.log(hoisted_var);
var hoisted_var = ' 변수를를 아래에에 선언'
재선언 가능
let, const
EX6
변수의 유효범위 : 블록 스코프(친숙)
호이스팅 x
재선언 불가
(var보다 코드읽기가 편하다 . 기존에 쓰던 다른 언어의 변수선언 방식과 유사)
let a: string = '에이';
//명시적으로 지정된 타입인 String
let b = "비이";
// 타입추론에 의한 타입이 string
const a: string = '에이';
// 명시적으로 string 타입으로 지정
const b = "비이";
// 타입추론에 의한 리터럴 타입 "비이"
let / const 타입추론
typescript/playground
를 활용하여 typescript 코드가 js 코드로 컴파일되는걸 곧장 보여준다.
Type assertions
형변환과는 조금 다르다 (형변환은 실제 데이터 구조를 바꿔준다.)
타입이 이것이다 라고 컴파일러에게 알려주는 것을 의미한다. - 컴파일러를 속이는 느낌이다./
문법적으로는 두가지 방법이 있다.
1 . 변수 as 강제할 타입이름
2 . <강제할 타입이름>변수
Type Alias (타입 별칭)
유니온 타입
---아래는 타입별칭의 예제이다.---
let a: any;
let b: string | number;
b = '1';
b = 2;
type StringOrNumber = string | number;
let b : StringOrNumber
b = '1';
b = 2;
function test(arg: StringOrNumber): StringOrNumber{
return arg;
}
type Alias = { num: number }
interface Interface{
num: number;
}
//인터페이스처럼 사용할 수는 있지만 인터페이스가 아니다.