TypeScript (7) 썸네일형 리스트형 [CHAPTER 7] 인터페이스 7. 인터페이스 - 인터페이스(interface): 연관된 이름으로 객체 형태를 설명하는 또 다른 방법 별칭으로 된 객체 타입과 여러 면에서 유사하지만 일반적으로 더 읽기 쉬운 오류 메시지, 더 빠른 컴파일러 성능, 클래스와의 더 나은 상호 운용성을 위해 선호됨 7.1 타입 별칭 vs. 인터페이스 type Poet = { // 타입 별칭 born: number; name: string; } interface Poet = { // 인터페이스 born: number; name: string; } 다음과 같이 객체를 타입 별칭으로 구현하는 구문과 인터페이스로 구현한 구문은 거의 동일함 마찬가지로, 인터페이스에 대한 타입스크립트의 할당 가능성 검사와 오류 메시지는 객체 타입에서 실행되는 것과 거의 동일함 - 인.. [CHAPTER 6] 배열 6.1 객체 타입 - 초기 배열에 어떤 데이터 타입이 있는지 기억하고, 배열이 해당 데이터 타입에서만 작동하도록 제한함 const warriors = ["Artemisa", "Boudica"]; warriors.push("Zenobia"); // Ok warriors.push(true); // Error: boolean 타입 에러 - 배열에 대한 타입 애너테이션은 배열의 요소 타입 다음에 []가 와야 함 let arrayOfNumbers: number[]; arrayOfNumbers = [4, 8, 15, 16, 23, 42]; 6.1.1 배열과 함수 타입 - 애너테이션의 함수 반환 부분과 배열 타입 묶음을 나타내기 위해 괄호 사용 let createStrings: () => string[]; // st.. [CHAPTER 5] 함수 5.1 함수 매개변수 - 타입 애너테이션으로 함수 매개변수의 타입을 선언할 수 있음 5.1.1 필수 매개변수 - 함수에 필수 매개변수를 제공하도록 강제하면 예상되는 모든 인숫값을 함수 내에 존재하도록 만들어 타입 안정성을 강화하는 데 도움이 됨 function singTwo(first: string, second: string) { console.log(`${fisrt} / ${second}`); } singTwo('I will Survive', 'Higher Love'); // Ok singTwo('Ball and Chain'); // Error: 필수 매개변수 2개여야 함 -> 입력 매개변수 1개 singTwo('Go Your Own Way', 'The Chain', 'Dreams'); // Erro.. [CHAPTER 4] 객체 4.1 객체 타입 - {...} 구문으로 객체 리터럴 생성 ⇒ value.멤버 or value['멤버'] 구문으로 값의 속성에 접근 null과 undefined를 제외한 모든 값은 그 값에 대한 실제 타입의 멤버 집합을 가짐 4.1.1 객체 타입 선언 - 객체 타입을 명시적으로 선언하기 let poetLater: { born: number; name: string; }; poetLater = { born: 1935, name: "Mary Oliver", } 4.1.2 별칭 객체 타입 - 객체 타입에 타입 별칭을 할당해 사용하기 type Poet = { born: number; name: string; }; let poetLater: Poet; poetLater = { born: 1935, name: "S.. [CHAPTER 3] 유니언과 리터럴 3.1 유니언 타입 ( | ) - 값에 허용된 타입을 두개 이상의 가능한 타입으로 확장하는 것 값이 정확히 어떤 타입인지 모르지만 두 개 이상의 옵션 중 하나라는 것을 알고 있는 경우에 코드를 처리하는 개념 3.1.1 유니언 타입 선언 - 변수의 초기값이 있더라도 변수에 대한 명시적 타입 애너테이션을 제공하는 것이 유용할 때 사용 더보기 유니언 타입의 선언 순서는 중요하지 않음 boolean | number === number | boolean 3.1.2 유니언 속성 - 값이 유니언 타입일 때 타입스크립트는 유니언으로 선언한 모든 가능한 타입에 존재하는 멤버 속성에만 접근할 수 있음 3.2 내로잉 - 값에 허용된 타입이 하나 이상의 가능한 타입이 되지 않도록 좁히는 것 유니언 타입으로 정의된 여러 타입 .. [CHAPTER 2] 타입 시스템 2.1 타입의 종류 - 타입: 자바스크립트에서 다루는 값의 형태에 대한 설명 - 형태: 값에 존재하는 속성과 메서드 그리고 내장되어 있는 typeof 연산자가 설명하는 것 - 원시타입 7가지: ① null ② undefined ③ boolean ④ string ⑤ number ⑥ bigint ⑦ symbol 2.1.1 타입 시스템 타입 시스템의 작동 방식 - 코드를 읽고 존재하는 모든 타입과 값 이해 - 각 값이 초기 선언에서 가질 수 있는 타입 확인 - 각 값이 추후 코드에서 어떻게 사용될 수 있는지 모든 방법 확인 - 값의 사용법이 타입과 일치하지 않으면 사용자에게 오류 표시 2.1.2 오류 종류 ① 구문 오류: 타입스크립트가 자바스크립트로 변환되는 것을 차단한 경우 ← 타입스크립트가 코드로 이해할 .. [CHAPTER 1] 자바스크립트에서 타입스크립트로 1.1 자바스크립트의 역사 1995년 넷스케이프 브렌던 아이크가 10일만에 자바스크립트를 설계했고, 1995년 이후 자바스크립트 운영위원회읜 TC39로부터 엄청나게 발전해왔음 1.2 바닐라 자바스크립트의 함정 - 바닐라(vanilla): 중요한 언어 확장이나 프레임워크 없이 자바스크립트를 사용하는 순수 자바스크립트 ① 값 비싼 자유: 자바스크립트는 동적 타입 언어로, 충돌 가능성을 먼저 확인하지 않고 코드를 실행하기 때문에 오류 발생에 치명적 ② 부족한 문서: 함수의 매개변수, 함수 반환, 변수 또는 다른 구성요소의 의미를 설명하는 표준화 된 내용이 없어 JSDoc 표준 채택 → 규모가 있는 코드 베이스에서 유지보수 힘듦 ③ 부족한 개발자 도구: 타입을 식별하는 내장된 방법을 제공하지 않음 1.3 타입스.. 이전 1 다음