분류 전체보기23 교차타입 (Intersection Types) Intersection Type은 여러 타입을 묶어서 합쳐준다. (Intersection이 교차, 사거리라는 뜻인데...뭔가 애매하다) type Student = { name: string; score: number; }; type Worker = { empolyeeId: number; work: () => void; }; function internWork(person: Student & Worker) { console.log(person.name); console.log(person.score); console.log(person.empolyeeId); console.log(person.work()); } internWork({ name: 'steve', score: 50, empolyeeId: 80.. 2021. 4. 12. 식별 유니온 타입 (Discriminated Unions Type) type Square { kind: "square"; size: number; } type Rectangle { kind: "rectangle"; width: number; height: number; } type Shape = Square | Rectangle; 객체 타입들을 유니온으로 가지고 있는 타입은 공통으로 가지고 있는 키를 식별하여 구분할 수있게 해준다. 자바스크립트와는 차원이 다른 명확함을 표한한다. Discriminate 차별하다 식별하다 2021. 4. 12. 타입 에일리어스 (Type Alias), 유니온 타입 (Union Type) Type Alias // 문자열 type Text = string; // 숫자 type Num = number; // 불리언 type check = boolean; // 함수 type Func = () => void; // 객체 type Student = { name: string; age: number; }; const student: Student = = { name: 'ellie', age: 12, } Union Type // string type Direction = 'left' | 'right' | 'up' | 'down'; // number type TileSize = 8 | 16 | 32; // object type obj1 = { a: 1 }; type obj2 = { a: 2 }; typ.. 2021. 4. 10. 배열 (Array), 튜플 (Tuple) Array 두가지 방법 const strNum1: string[] = ['one', 'two']; const strNum2: Array = ['one', 'two']; const realNum1: number[] = [1, 2]; const rearNum2: Array = [1, 2]; Tuple 다른 타입을 같이 담을 수 있다. 튜플 보다는 interface / type alias / class를 사용하자. const student: [string, number] = ['steve', 56]; student[0]; // steve student[1]; // 56 const [name, age] = student; // name → steve // age → 56 2021. 4. 10. 함수 (Function) 기본형태 각각 파라미터에 타입 선언, 리턴 타입도 선언 // JavaScript function jsAdd(num1, num2) { return num1 + num2; } // TypeScript function tsAdd(num1: number, num2: number): number { return num1 + num2; } Optional Parameter 옵셔널 문법을 사용한 함수 // 파라미터명 옆 물음표로 해당 파라미터의 사용유무를 선택할 수 있음 function printName(firstName: string, lastName?: string) { console.log(firstName); console.log(lastName); } printName('Steve', 'Jobs'); pri.. 2021. 4. 10. 원시타입 (primitive type) 본 블로그에 올라오는 TypeScript 예제는 엘리의 타입스크립트+객체지향 프로그래밍 마스터 강의에 기초함. academy.dream-coding.com Dream Coding All Courses, 프론트엔드 중급, 백엔드 타입스크립트 + 객체지향 프로그래밍 마스터 (12) 5.0 average rating academy.dream-coding.com number const num1: number = 11; const num2: number = -11; const num3: number = 0; string const str1: string = 'hello'; const str2: string = "hello"; const str3: string = `hello`; boolean const bool1.. 2021. 4. 10. 신규 ECMAScript 문법 몇가지 ECMAScript2020 1. Optional Chaining (?.) const title = data?.article?.title; data.article.title 값이 존재하는 경우, title 값을 반환 그렇지 않은 경우에는 undefined를 반환 2. ?? 연산자 (Nullish coalescing Operator) null 및 undefined를 검사한다. "" ?? "check"// "" false ?? "check" // false null ?? "check"// check undefined ?? "check"// check null 및 undefined일 때만 우측 값을 리턴한다. ECMAScript2021 1. replaceAll 지원 '_x_x_x_'.replaceAll('_',.. 2021. 4. 10. 이전 1 2 다음