러닝 타입스크립트를 읽고 요약한 내용입니다.
typeof
연산자가 설명하는 것, 그것을 의미합니다.null
undefined
boolean
// ture 혹은 falsestring
// “”, “Hi!”, “abc123”, …number
// 0, 2.1, -4, …bigint
// 0n, 2n, -4n, …symbol
// Symbol(), Symbol(”hi”), …let firstName = "Whitney";
firstName.length();
// This expression is not callable.
// Type 'Number' has no call signatures.
firstName
이라는 변수를 이해 → 초깃값이 “Whitney”이므로 firstName
이 string
이라고 결론 지음 → firstName
의 .length 멤버를 함수처럼 호출하는 코드 확인 → string
의 .length 멤버는 함수가 아닌 숫자라는 오류를 표시, 즉 함수처럼 호출할 수 없음let firstName: string = 'Choi';
firstName = 123;
// Type 'number' is not assignable to type 'string'.
any
타입으로 간주합니다. 초기 타입을 유추할 수 없는 변수는 진화하는 any라고 부릅니다. 특정 타입을 강제하는 대신 새로운 값이 할당될 때마다 변수 타입에 대한 이해를 발전(진화)시킵니다.any
타입으로 진화하는 것을 허용하게 되면 타입 검사 목적을 부분적으로 쓸모없게 만듭니다. (단, 해당 타입에 걸맞는 내장 함수 등은 체크 가능)let rocker: string;
rocker = "Joan Jett";