TS/[책] 타입스크립트 프로그래밍 3

4장. 함수 [not fin]

function add(a: number, b:number){ return a+b; } 보통 함수 매개변수의 타입은 명시적으로 정의한다. 특별한 상황을 제외하면 매개변수의 타입은 추론하지 않는다. 반환타입은 자동으로 추론하지만 원하면 명시할 수 있다. 실무에서는 반환타입을 추론하도록 하는 것이 보통이다. 타입스크립트에서 함수를 호출할 때 타입 정보는 따로 제공할 필요가 없다. 선택적 매개변수와 기본 매개변수 ?를 이용해 선택적 매개변수를 지정할 수 있다. 실무에서는 선택적 매개변수보다 기본 매개변수를 자주 사요안다. 나머지 매개변수 인수를 여러개 받는 함수라면 목록을 배열 형태로 건넬 수도 있다. argument는 any타입으로 추론되기 떄문에 안전한 타입의 가변 인수 함수를 만드려면 나머지 매개변수를 ..

3장. 타입의 모든 것

3.1 타입의 가나다 any any는 모든타입을 허용한다. 가급적 사용하지 않아야 한다. 타입스크립트의 기본 설정은 자유를 허용하므로 any로 추론되는 값을 발견해도 예외를 발생시키지 않는다. 암묵적 any를 예외처리 하고싶다면 tsconfig.json파일에서 noImplicitAny플래그를 활성화하면 된다. unknown 타입을 미리 알 수 없는 어떤값이 있다면 any대신 unknown을 사용하자. unknown도 모든 값을 대표하지만, 타입을 검사해 정제하기 전까지는 타입스크립트가 unknown 타입의 값을 사용할 수 없게 강제한다. unknown은 비교연산과 !를 지원하고 typeof, instanceof로 정제할 수 있다. boolean true와 false를 가진다. 타입스크립트에게 어떤값이 b..

2장. 타입스크립트: 3000미터 상공에서 내려다보기

타입스크립트를 사용하는이유? 타입 안전성을 지키기 위해서 타입 안전성이란 타입을 이용해 프로그램이 유효하지 않은 작업을 수행하지 않도록 방지하는 것이다. 타입스크립트는 에러를 알려주는 시점이 편집기에 코드를 입력하는 순간이기 때문에 에러를 검출하기에 용이하다. 컴파일러 프로그램은 프로그래머가 작성한 텍스트파일을 컴파일러라는 프로그램이 파싱하여 추상 문법 트리(AST)라는 자료구조로 변환한다. (파싱) 그러고 다시 AST를 바이트코드라는 하위 수준의 표현으로 변환한다. (컴파일) 바이트코드가 만들어지면 런타임이라는 프로그램에 바이트코드를 입력해 평가하고 결과를 얻는다. 타입스크립트가 다른언어와 다른점은 컴파일러가 코드를 바이트코드 대신 JS코드로 변환한다는 점이다. 타입스크립트 컴파일러는 AST를 만들어 ..