강의 실습159 서로소 유니온 타입 한 입 크기로 잘라먹는 타입스크립트 - 서로소 유니온 타입 1. 서로소 유니온 타입 교집합이 없는 타입들로만 만든 유니온 타입. ex) string | number - src/chapter8.ts/** * 서로소 유니온 타입 */type Admin = { name: string; kickCount: number;};type Member = { name: string; point: number;};type Guest = { name: string; visitCount: number;};// Union 타입type User = Admin | Member | Guest;// 로그인 함수// Admin -> {name}님 현재까지 {kickCount}명 강퇴했습니다.// Memb.. 2024. 10. 30. 타입 좁히기 한 입 크기로 잘라먹는 타입스크립트 - 타입 좁히기 1. 타입 좁히기 조건문 등을 이용해 넓은 타입에서 좁은 타입으로 타입을 상황에 따라 좁히는 방법. if 조건문과 typeof 연산자를 활용한 타입을 좁히는 표현들을 '타입가드' 라고 부른다. 타입가드에는 typeof 뿐만 아니라 instanceof, in 연산자를 조건문에서 활용할 수 있다. - src/chapter7.ts/** * 타입 좁히기 */// value => number: toFixed// value => string: toUpperCasefunction func(value: number | string) { value; // 유니온 타입 추론 // value.toFixed(); // 에러 // value.toUpperCas.. 2024. 10. 29. 타입 단언 한 입 크기로 잘라먹는 타입스크립트 - 타입 단언 1. 타입 단언 변수에 초기화한 값 뒤에 as 키워드를 명시하고 타입을 쓰면, 타입스크립트 컴파일러에게 as 앞의 값을 명시한 타입으로 간주하라고 알린다. 즉, 타입스크립트 컴파일러의 눈을 잠시 가리는 역할. - src/chapter6.ts// 타입 단언 (type assertion)// 예제1type Person = { name: string; age: number;};let person = {} as Person;person.name = '송진성';person.age = 27;// 예제2type Dog = { name: string; color: string;};let dog: Dog = { name: '돌돌이' , col.. 2024. 10. 28. 타입 추론 한 입 크기로 잘라먹는 타입스크립트 - 타입 추론 1. 타입 추론 타입스크립트 - 점진적 타입 시스템 채택. 변수 선언시, 타입을 명시하지 않아도 자동으로 타입을 추론해준다. 1) 일반적인 변수 선언 타입 추론 기준은 변수의 초기값. - src/chapter5.ts// 타입 추론// 모든 상황에 타입을 잘 추론해주진 않는다./*function func(param) {} // 함수의 매개변수*/// 일반적인 변수 선언하고 초기화let a = 10; // numberlet b = 'hello'; // stringlet c = { id: 1 , name: '송진성' , profile: { nickname: 'Jint' } , urls: ['https://stbhg5.tistory... 2024. 8. 12. 대수 타입 한 입 크기로 잘라먹는 타입스크립트 - 대수 타입 1. 대수 타입 여러 개의 타입을 합성해서 새롭게 만들어낸 타입. 합집합 타입(Union 타입)과 교집합 타입이 존재. 1) 합집합 타입 (Union 타입) - src/chapter4.ts// 대수 타입// 합집합 타입 (Union 타입)// let a: string | number; // string number boolean union 타입let a: string | number | boolean | undefined | null | {}; // 추가할 수 있는 타입 개수는 무한대이다.a = 1;a = 'hello';a = true;// 배열의 타입 적용let arr: (number | string | boolean)[] = [1, 'hello', t.. 2024. 8. 9. 객체 타입의 호환성 한 입 크기로 잘라먹는 타입스크립트 - 객체 타입의 호환성 타입스크립트 파일 이름 수정 후 오류가 남아있다면, Ctrl + Shift + P 누르고 restart 명령어 실행. 1. 객체 타입간의 호환성 기본 타입 간의 호환성 : 특정 타입을 다른 타입으로 취급해도 괜찮은지 판단하는 것. 객체 타입 간의 호환성 : 어떤 객체 타입을 다른 객체 타입으로 취급해도 괜찮은지 판단하는 것. - src/chapter3.ts// 기본 타입 간의 호환성let num1: number = 10;let num2: 10 = 10;num1 = num2; // 업캐스팅 가능// 객체 타입 간의 호환성// 프로퍼티를 기준으로 슈퍼타입 혹은 서브타입 관계가 맺어진다.// 추가 프로퍼티가 없이 조건이 더 적은 타입이 슈퍼타입이 된다.. 2024. 8. 6. 타입 계층도와 함께 기본타입 살펴보기 한 입 크기로 잘라먹는 타입스크립트 - 타입 계층도와 함께 기본타입 살펴보기 업캐스트, 다운캐스트를 이해했다면 이제 타입 계층도를 이해할 수 있게 되었다. onebite-typescript/section3 폴더를 만든 뒤 vscode 로 해당 폴더를 연다. 이후 node.js 패키지를 초기화한 뒤, @types/node 패키지를 설치한다. - Terminalnpm init This utility will walk you through creating a package.json file. It only covers the most common items, and tries to guess sensible defaults. See `npm help init` for definitive do.. 2024. 8. 5. 타입은 집합이다 한 입 크기로 잘라먹는 타입스크립트 - 타입은 집합이다 집합 : 동일한 속성을 갖는 여러개의 원소 또는 요소들을 하나로 묶어둔 단위. ex) number Type 이라는 집합 number Literal Type 예시)let num: 20 = 20; // num 변수는 20 이라는 값밖에 담을 수 없다.위 예시를 집합으로 표현하면, 20 이라는 원소 하나만 포함하는 아주 작은 단위의 집합이다. 여기서 20은 숫자로 number Type 에도 속하므로, number Literal Type 집합은 모두 number Type 의 부분집합 이다. number Literal Type 이 포함하는 값들은 전부 number Type 집합에도 포함되는 값들이기 때문이다. 여기서 number Type 처럼 다른 타입을 포.. 2024. 7. 31. 타입스크립트 이해하기 한 입 크기로 잘라먹는 타입스크립트 - 타입스크립트를 이해한다는 것 - 타입스크립트를 이해한다는 것은? 어떤 기준으로 타입을 정의하는지 어떤 기준으로 타입간의 관계를 정의하는지 어떤 기준으로 타입의 오류를 검사하는지 이런 타입스크립트의 구체적인 원리와 동작 방식을 살펴보는 것 문법 배우기도 바쁜데... 왜 원리까지? 문법만 배워서 바로쓴다? 그렇게 만만하지는 않다. 나중에 결국 원점으로 돌아오기 때문. 타입스크립트를 한 번 배울 때 제대로 배워서 완전히 나의 기술로 만들어서 자바스크립트를 사용했을 때 보다 더 안정적이고 좋은 코드를 만들어 낼 수 있어야 한다. 그 과정에서 타입스크립트로 문제를 해결하는 일이 즐거워야 한다. 참고링크 : https://www.inflearn.com/course/%ED%95.. 2024. 7. 30. 이전 1 2 3 4 5 6 7 8 ··· 18 다음