✨ 배열 타입 배열과 함수 타입 let createStrings : () => string[]; // 문자열로 구성된 배열을 반환하는 함수 let stringCreators : (() => string)[]; // 함수의 배열 유니언 타입 배열 let stringOrArrayOfNumbers: string | number[]; // 문자열이거나, 값이 숫자인 배열 let arrayOfStringsOrNumbers: (string | number)[]; // 값이 문자열, 숫자인 배열 any 배열의 진화 any타입을 허용하거나, 일반적으로 사용하면 타입 검사 목적을 부분적으로 무효화합니다. const arr = []; // const arr: any[] arr.push('') // const arr: st..
✨함수 매개변수 필수 매개변수 function singTwo(first: string, second: string){ console.log(`${first} ${second}`) } // 이 함수의 매개변수는 2개 이다. // 1개 혹은 3개의 매개변수는 허용하지 않는다. singTwo("a") // ERROR Expected 2 arguments, but got 1. singTwo("a","b") // OK singTwo("a","b","c") // ERROR Expected 2 arguments, but got 3. 선택적 매개변수 타입 애너테이션의 : 앞에 ? 를 추가해 선택적으로 사용할 수 있습니다. function singTwo(first: string, second?: string){ cons..
✨ 객체 타입 객체 타입 선언 let poetLater: { born: number; name: string; } poetLater = { born: 1935, name: 'Mary Oliver' } poetLater = 2 // [ERROR] Type 'number' is not assignable to type '{ born: number; name: string; }'. 별칭 객체 타입 type 키워드를 사용하여 객체 별칭을 할당해 사용할 수 있습니다. 대부분의 타입스크립트 프로젝트 에서는 인터페이스(interface) 키워드를 사용하는 것을 선호합니다. type poetLater = { born: number; name: string; } const poetLater: poetLater = { b..
✨유니언 타입 값에 허용된 타입을 두 개 이상의 가능한 타입으로 확장하는 것을 유니언이라 한다. let mathmaticion = Math.random() > 0.5 ? undefined : "Mark Goldberg"; // mathmetician은 undefined와 string 타입을 가진다. 즉 유니언 타입을 가진다. 유니언 타입 선언 애너테이션으로 유니언 타입을 정의할 수 있다. let thinker : string | null = null; if(Math.random() > 0.5){ thinker = "Susanne Langer"; } 유니언 속성 유니언 타입으로 설정한다면, 해당 모든 타입에 존재하는 속성만 사용할 수 있다. let mathmaticion = Math.random() > 0..
✨ 타입의 종류 타입이란 typeof 연산자가 설명하는 형태를 다루는 값 타입 시스템 코드를 읽고 모든 타입과 값을 이해 각 값이 초기 선언에서 가질 수 있는 타입을 확인 각 값이 추후 코드에서 어떻게 사용 될 수 있는지 확인 값의 사용법이 타입과 일치하지 않으면 오류를 표시 오류 종류 구문 오류 : TS → JS 로 컴파일 되는 것을 차단 타입 오류 : 타입 검사기에서 일치하지 않는 타입 확인 타입 오류는 JS로 변환되는 것을 막지 않는다. ✨ 할당 가능성 함수 호출이나 변수에 값을 제공할 수 있는지 여부를 확인하는 것을 할당 가능성이라 한다. ✨ 타입 애너테이션 때로 변수에 초기값이 없는 경우, 나중 타입을 파악하려고 하지 않는다. 암묵적인 any 타입으로 간주한다. 이 때의 any를 진화하는 any..