목록전체 글 (148)
choco's story
Type Alias (타입 별칭)타입 별칭 시작타입 별칭(Type Alias)이란? : type 키워드를 사용해서 사용자가 직접 타입 변수를 정의하는 것선언 기본 구조는 다음과 같다.그리고 이 별칭은 대문자로 시작하여 일반 변수와 차이를 두는 것이 관습이다.type 별칭 = 타입;왜 굳이 또다른 별칭을 지어서 타입을 표현하는 것일까?아래 예제 코드들을 통해 직접 이유를 확인해보자.ex)let Dom: {version:string, el:(selector:string)=>void, css:(prop:string)=>void} = { version: '0.0.1', el(){}, css(){}};위 선언된 Dom 타입은 매우 길고 복잡하게 정의되어 있다.한두번 사용하는 것도 아니고 매번 이런 식으로 길..
Intersection 타입인터섹션(Intersection) 타입이란? : 여러 타입을 모두 만족하는 하나의 타입&(ampersand)를 사용해 2개 이상의 타입을 조합하는 경우, 이를 인터섹션 타입이라고 부른다.이전에 배운 유니온 타입이 "OR"이라는 의미라면, 인터섹션 타입은 "AND"라고 이해하면 된다.ex)interface Person { name: string; age: number;}interface Developer { name: string; skill: number;}type Capt = Person & Developer;위 예제 코드는 Person 인터페이스의 타입 정의와 Developer 인터페이스의 타입 정의를 "&" 연산자를 통해 합쳤다. 그리고 Capt 이라는 새로운 타입..
Union 타입Union 타입 시작유니온(Union) 타입이란? : 자바스크립트의 OR 연산자(||)와 같이 "A이거나 B이다"라는 의미의 타입function logText(text: string | number) { // ...}위 함수의 파라미터인 text에는 문자열 타입(string)이나 숫자 타입(number) 둘 다 올 수 있다.이렇게 파이프 기호 (|) 연산자를 사용하여 타입을 여러 개 연결하는 방식을 유니온 타입 정의라고 한다.ex)let union: string | number;union = 'Hello World!';union = 12345;union = false; // Error위 예제 코드에서 마지막 union 변수는 선언되지 않은 boolean 타입으로 초기화하려고 했기 때문에 ..
Literal 타입 시작Literal 타입이란? : 문자열과 숫자에 한해서 직접 값 자체를 타입으로 선언하는 것리터럴 타입은 집합 타입의 보다 구체적인 하위 타입이다.이 말이 이해가 안될 수 있다.쉽게 표현하자면, 타입 시스템 안에서 "Hello World"는 string이지만, string은 "Hello World"가 아닌 것이다.타입은 무조건 number, string, array와 같은 자료형만 넣는 것이 아니다.타입스크립트에는 문자열과 숫자, 그리고 불리언 총 세 종류의 리터럴 타입이 있는데, 이를 잘 사용하면 문자열이나 숫자에 정확한 값을 지정할 수 있다.리터럴 타입 좁히기 (Literal Narrowing)var 또는 let으로 변수를 선언할 경우엔 이 변수의 값이 변경될 가능성이 있음을 컴파..
