모든 자바스크립트는 타입스크립트 프로그램이다. 반대로 타입스크립트는 별도의 문법을 가지고 있기 때문에 유효한 자바스크립트 프로그램은 아니다.자바스크립트에서는 런타임에서나 찾을 수 있는 문제를 타입스크립트는 코드를 작성하거나 컴파일 단계에서 찾아낸다. 하지만 모든 문제를
이 집합은 유한하거나 무한하다.두 타입은 서로 서브타입이 아니면서도 겹쳐질 수 있다.A와 B의 인터섹션은 A의 범위와 B의 범위의 인터섹션이다. 객체 타입에서는 A & B인 값이 A와 B의 속성을 모두 가짐을 의미한다.타입스크립트 용어와 집합 용어 비교타입스크립트 플레
타입스크립트에서 명명된 타입을 정의하는 방법으 ㄴ두 가지가 있다.
혼란을 막기 위해 타입이 다른 값을 다룰 때에는 변수를 재사용하지 않도록 한다.
readonly number\[]배열의 요소를 읽을 수 있지만, 쓸 수는 없다.length를 읽을 수 있지만, 바꿀 수는 없다(배열을 변경함).배열을 변경하는 pop을 비롯한 다른 메서드를 호출할 수 없다.readonly를 사용하면타입스크립트는 매개변수가 함수 내에서
타입 좁히기는 타입스크립트가 넓은 타입으로부터 좁은 타입으로 진행하는 과정을 말한다.instanceof, Array.isArray, 태그된 유니온 패턴, 사용자 정의 타입 가드위의 loc을 별칭이라고 한다. 별칭의 값을 변경하면 원래 속성값에서도 변경된다.
타입스크립트는 타입을 추론할 때 단순히 값만 고려하는 게 아니라 값이 존재하는 곳의 문맥도 사용한다.튜플, 객체타입 흐름을 개선하고, 가독성을 높이고, 명시적인 타입 구문의 필요성을 줄이기 위해 직접 구현하기보다는 내장된 함수형 기법과 로대시 같은 유틸리티 라이브러리를
타입 설계 실제 예시는 책을 읽어보자.함수의 매개변수는 타입의 범위가 넓어도 되지만, 결과를 반환할 때는 일반적으로 타입의 범위가 더 구체적이어야 한다.타입이 명확하지 않은 경우는 변수명에 단위 정보를 포함하는 것을 고려하는 게 좋다. (timsMs, temperatu
ex. b가 a의 값을 바라보고 있고, a가 null이 될 수 있을 때.위의 코드에서 layout이 FillLayout이면서 paint 속성이 LinePaint일 수는 없다. 따라서 아래와 같이 수정하는 것이 좋다.타입 선언에서 어설프게 완벽을 추구하려다가 오히려 역효