인프런 이재승 님 타입스크립트 시작하기 강의를 듣고 여러 레퍼런스를 참고하여 정리한 노트입니다. 1. 타입 추론 정적 타입 언어의 단점은 타입을 정의하는데 시간과 노력이 많이 들어서 생산성이 줄어들 수도 있다는 것이다. 따라서 타입 추론을 통해 필요한 경우에만 타입정의를 해야 한다. let으로 변수 선언 시 let v1 = 123; let v2 = 'abc'; let v3; v1 = 'a'; // error v2 = 456; // error v3 = 123; v3 = 'abc'; v3 = false;위 코드에는 타입 지정을 전혀 하지 않았다. 하지만 v1의 최초 할당값이 123으로 number이므로 자동으로 number로 타입이 지정되었고 같은 이유로 v2는 s..
인프런 이재승 님 타입스크립트 시작하기 강의를 듣고 여러 레퍼런스를 참고하여 정리한 노트입니다. 1. 제네릭(generic) 제네릭은 타입 정보가 동적으로 결정되는 타입이다. 제네릭을 통해 같은 규칙을 여러 타입에 적용할 수 있다. 타입을 지정할 때 발생할 수 있는 중복 코드를 제거할 때 유용하다. 제네릭이 없을 때 문제점 function makeNumberArray(defaultValue: number, size: number): number[] { const arr: number[] = []; for (let i = 0; i < size; i++) { arr.push(defaultValue); } return arr; } function makeStringArray(defaultValue: strin..
인프런 이재승 님 타입스크립트 강의를 듣고 여러 레퍼런스를 참고하여 정리한 내용입니다. 1. 타입호환성 타입 호환성은 어떤 타입을 다른 타른 타입으로 취급해도 되는지 판단하는 것이다. 정적타입언어의 가장 중요한 역할은 타입호환성을 통해 컴파일 타임에 호환되지 않는 타입을 찾아내는 것이다. 어떤 변수가 다른 변수에 할당 가능하기 위해선 해당 변수의 타입이 다른쪽 변수 타입에 할당될 수 있어야 한다. 타입이 가질 수 있는 값의 집합을 생각해야 한다. function func1(a: number, b: number | string) { const v1: number | string = a; const v2: number = b; // error } function func2(a: 1 | 2) { const v..
인프런 이재승 님 타입스크립트 시작하기 강의를 듣고 여러 레퍼런스를 참고하여 정리한 노트입니다. 1. 몇 가지 기본 타입1 const v: number = 123; const tf: boolean = 123 > 343; const msg: string = '하이'; const list: number[] = [1, 2, 3]; const list2: Array = [1, 2, 3]; list.push('a'); // list는 number만 들어갈 수 있기 때문에 에러 발생 // tuple: 배열처럼 생겼지만 각 인덱스별로 타입을 미리 지정해놓음 const tuple: [string, number] = ['123', 123];자바스크립트에서는 array라는 타입은..