자바스크립트는 굉장히 오랜 시간동안 다양한 모듈 시스템을 지원해왔다. 하지만 최근에는 ES6의 ES 모듈 시스템으로 통합되고 있다. ES 모듈 시스템은 많이 알고있는 import/export 문법을 통한 모듈 노출 및 로드를 말한다. ES 모듈 시스템은 2015년
📒기본 타입 타입스크립트가 자체적으로 제공하는 타입들을 타입스크립트의 기본 타입이라고 부릅니다. 다른 말로 내장 타입이라고도 합니다. 이 각각의 기본 타입들은 서로 부모 자식 관계를 이루고 있습니다. ✔️원시 타입의 변수 📌number 자바스크립트에서의
부모 타입(상위 타입)의 변수에 자식 타입(하위 타입)의 값을 할당하는 것을 업 캐스팅반대의 경우를 다운 캐스팅이라고 합니다.unknown 타입은 타입 계층도에서 최상단에 위치한 타입입니다.따라서 모든 타입은 unknown 타입으로 업 캐스팅이 가능합니다.하지만 반대로
union 타입은 | 을 이용하여 정의할 수 있습니다.위와 같이 객체 union 타입을 정의하면 다음과 같은 객체들을 포함하는 타입이 됩니다.위와 같이 교집합 타입을 정의하면 Intersection 타입은 Dog 타입도 되고, Person 타입도 되는 객체들의 집합인
📒타입 추론 타입스크립트는 변수에 타입을 지정하지 않으면 초기화 값을 기준으로 변수 타입을 추론합니다. 이를 타입 추론 이라고 합니다.
위와 같은 코드는 타입스크립트에서 오류를 발생시킵니다.할당하려고 하는 빈 객체가 Person 타입이 아니기 때문입니다.하지만 초기화 할 때에는 빈 객체로 넣어두고 싶을 수도 있습니다.이를 위해서 타입 단언을 사용할 수 있습니다.값 as 타입의 형태로 특정 값을 원하는
소로소 유니온 타입은 서로 교집합이 없는 서로소 관계에 있는 타입들을 모아서 만든 유니온 타입입니다.위와 같은 코드는 in 연산자를 이용해서 타입 가드를 만들었습니다.하지만 주석이 없는 경우에 위 같은 코드를 어떤 상황일 때의 코드인지 한 눈에 파악하기가 어렵습니다.이
자바스크립트의 함수를 다른 사람에게 설명할 때 가장 좋은 방법은 어떤 매개변수를 받고 어떤 값을 반환하는지를 설명하는 것입니다.타입스크립트도 마찬가지입니다. 이 때 매개변수와 반환값에 타입을 추가해주면 됩니다.즉, 어떤 타입의 매개변수를 받고, 어떤 타입의 값을 반환하
📒함수 타입 호환성 함수 타입 호환성이란 특정 함수 타입을 다른 함수 타입으로 캐스팅해도 되는지를 판단하는 것입니다. 두 가지 기준으로 함수 타입 호환성을 판단하게 됩니다. 두 함수의 반환값의 타입이 호환되는가 두 함수의 매개변수의 타입이 호환되는가 ✔️반환값
함수 오버로딩은 같은 이름의 함수를 매개변수의 타입이나 갯수를 추가 혹은 변경함으로써 여러 버전으로 사용할 수 있도록 해주는 문법입니다.위와 같이 func이라는 이름의 함수는 number 타입의 매개변수 하나를 받거나 혹은 세 개를 받는 두 가지의 버전으로 동작할 수
사용자 정의 타입 가드란 참, 거짓을 반환하는 함수를 정의하여 이 함수를 이용하여 우리가 원하는 타입 가드를 만들 수 있도록 도와주는 타입스크립트 문법입니다.in 연산자를 이용해 타입 가드를 만들었습니다.하지만 in 연산자를 이용하면 실제로 타입 정의를 보지 않는 이상
📒인터페이스 인터페이스 또한 타입 별칭처럼 타입을 정의하는 문법입니다. ✔️선택적 프로퍼티 인터페이스도 선택적 프로퍼티 설정이 가능합니다. ✔️읽기 전용 프로퍼티 readonly 키워드를 사용하여 읽기 전용 프로퍼티 설정이 가능합니다. ✔️메서드 타입 정의
자바스크립트 문법에도 클래스는 존재합니다.클래스는 객체지향 프로그래밍 패러다임을 선택한 언어에서 핵심입니다.클래스는 우리가 정의한 커스텀 타입으로 생각할 수 있습니다.클래스는 위와 같이 선언이 가능합니다.상속은 객체지향 프로그래밍에서 꽃이라고 불리는 기능입니다.위에서
함수나 인터페이스, 타입 별칭, 클래스 등에서 다양한 타입을 사용해서 동작할 수 있도록 해주는 문법입니다.매개변수에 다양한 타입을 제공받게 하기 위해 any 타입으로 설정했습니다. unknown 타입으로도 가능합니다.그리고 위 함수는 매개변수를 그대로 반환하는 함수입니
📒타입 조작 타입 조작이란 기본 타입, 타입 별칭, 인터페이스로 만든 타입에서 상황에 따라 유동적으로 다른 타입으로 변환하는 타입스크립트의 독특한 기능입니다. 타입 조작에는 다양한 방법으로 타입 조작이 가능합니다. 제네릭 인덱스드 액세스 keyof 연산자 Map
조건부 타입은 extends 와 삼항 연산자를 이용해 조건에 따라 각각 다른 타입을 정의하도록 돕는 문법입니다.위 조건부 타입은 number extends string ? 같은 조건식이 있고 조건식이 참이라면 number를 반환, 아니라면 string을 반환합니다.따라