typescript 10

lib.es5.d.ts 분석하기 - 3.7 ~ 3.11

목차3.7 filter 만들기3.8 reduce 만들기3.9 flat 분석하기3.10 promise, awaited 타입 분석하기3.11 bind 분석하기 3.7 filter 만들기filter 메소드 : 배열의 각 요소를 검사하여 주어진 조건을 만족하는 요소들로만 새로운 배열을 생성하는 메소드 array.filter(callback(element, index, array), thisArg?) callback: 각 요소에 대해 실행할 함수로, 조건을 검사하는 로직을 포함element: 배열의 현재 요소index (선택적): 현재 요소의 인덱스array (선택적): filter 메서드를 호출한 배열thisArg (선택적): callback 함수 내부에서 this로 사용할 값불리언 반환: callback 함수..

typescript 2024.11.10

lib.es5.d.ts 분석하기 - 3.1 ~ 3.6

목차3.1 Partial, Required, Readonly, Pick, Record3.2 Exclude, Extract, Omit, NonNullable3.3 Parameters,ConstructorParameters, ReturnType, InstanceType 3.4 ThisType3.5 forEach 만들기3.6 map 만들기 3장은 타입스크립트가 제공하는 타입이 모여 있는 lib.es5.d.ts 파일을 분석하는 장이다. 이 장을 통해 타입이 어떻게 선언됐는지 알 수 있다. .d.ts 파일에는 타입 선언만 있고 실제 구현부는 존재하지 않는다. 이는 자바스크립트 문법은 따로 구현돼 있거 ts에서는 타입선언만 제공하기 때문이다.이 장에서 타입을 직접 구현해 보며 이해할 수 있을 것같다. - Utili..

typescript 2024.11.03

2.28 ~ 2.32

목차2.28 원시 자료형에도 브랜딩 기법을 사용할 수 있다2.29 배운 것을 바탕으로 타입을 만들어보자2.29.1 판단하는 타입 만들기2.29.2 집합 관련 타입 만들기2.30 타입스크립트의 에러 코드로 검색하자2.31 함수에 기능을 추가하는 데코레이터 함수가 있다2.32 앰비언트 선언도 선언 병합이 된다 2.28 원시 자료형에도 브랜딩 기법을 사요할 수 있다 : string, number 같은 원시 자료형 타입도 더 세밀하게 구분 가능 킬로미터를 마일로 바꾸는 함수 코드function kmToMile (km : number) { return km * 0.62;}const mile = kmToMile(3);문제 : 함수에 넣는 '3'이라는 숫자가 마일인지, 킬로미터인지 알 수 없음킬로미터, 마일 타..

typescript 2024.10.20

2.23 ~ 2.27

목차2.23 타입을 좁혀 정확한 타입을 얻어내자2.24 자기 자신을 타입으로 사용하는 재귀 타입이 있다2.25 정교한 문자열 조작을 위해 템플릿 리터럴 타입을 사용하자2.26 추가적인 타입 검사에는 satisfies 연산자를 사용하자2.27 타입스크립트는 건망증이 심하다 2.23 타입을 좁혀 정확한 타입을 얻어내자: 타입 종류가 많기 때문에 타입 구분이 중요! typeof 연산자function strOrNum (param : string|number) { if (typeof param === 'string') { param; //param: string } else if (typeof param === 'number'){ param; //param: numb..

typescript 2024.10.13

2.18 ~ 2.22

목차2.18 콜백 함수의 매개변수는 생략 가능하다2.19 공변성과 반공변성을 알아야 함수끼리 대입할 수 있다2.20 클래스는 값이면서 타입이다2.20.1 추상 클래스2.21 enum은 자바스크립트에서도 사용할 수 있다.2.22 infer로 타입스크립트의 추론을 직접 활용하자. 2.18 콜백 함수의 매개변수는 생략 가능하다인수로 제공하는 콜백함수의 매개변수에는 타입을 표기하지 않아도 됨문맥적 추론콜백 함수의 매개변수는 함수를 호출할때 사용하지 않아도 됨  function example (callback: (error: Error, result: string)=>void){}example((e,r)=>{}); //문맥적 추론example(()=>{}); //매개변수 사용 Xexample(()=>true)..

typescript 2024.10.06

타입스크립트 2.13 ~ 2.17

목차2.13 객체 간에 대입할 수 있는지 확인하는 법을 배우자2.13.1 구조적 타이핑2.14 제네릭으로 타입을 함수처럼 사용하자2.14.1 제네릭에 제약 걸기2.15 조건문과 비슷한 컨디셔널 타입이 있다2.15.1 컨디셔널 타입 분배 법칙2.16 함수와 메서드를 타이핑하자2.17 같은 이름의 함수를 여러 번 선언할 수 있다 2.13 객체 간에 대입할 수 있는지 확인하는 법을 배우자: 어떤 객체가 더 넓은(추상적인)가만 확인하자 -> 좁은 객체가 넓은 객체에 대입 가능 잉여 속성 검사가 이루어 지지 않는 변수를 대입할 때, 가능 여부를 따져봐야함 interface A { name : string;}interface B { name : string; age : number;}const aO..

typescript 2024.09.28

2.8 ~ 2.12 (별칭, 인터페이스, 객체 속성, 집합, 상속)

목차2.8 타입 별칭으로 타입에 이름을 붙이자2.9 인터페이스로 객체를 타이핑하자2.9.1 인터페이스 선언 병합2.9.2 네임스페이스2.10 객체의 속성과 메서드에 적용되는 특징을 알자2.10.1 인덱스 접근 타입2.10.2 매핑된 객체 타입2.11 타입을 집합으로 생각하자(유니언, 인터섹션)2.12 타입도 상속이 가능하다  2.8 타입 별칭으로 타입에 이름을 붙이자: 타입 스크립트에서는 특정 타입을 특정 이름에 저장 가능  - 타입 별칭 (type alias) : 기존 타입에 새로 이름을 붙인 것 type 키워드를 통해 선언첫글자는 대문자 type A = string;const str : A = 'hello';string타입을 A에 저장A를 이용해 타입 지정-> 하지만 보통 복잡하거나 가독성이 낮은 타..

typescript 2024.09.20

기본 문법 익히기 (2.7) - 타입스크립트의 타입

2.7 타입스크립트에만 있는 타입을 배우자2.7.1 any2.7.2 unknown2.7.3 void2.7.4 {}, object2.7.5 never2.7.6 타입 간 대입 가능표  2.7 타입스크립트에만 있는 타입을 배우자타입스크립트에는 any처럼 보지 못한 타입들이 존재한다. 이번 글에서 하나씩 살펴보자.   2.7.1 any: 타입스크립트에서 지양해야 할 타입 원칙 any 타입은 타입 검사를 포기한다는 선언과 같다. 타입스크립트가 any로 추론하면 타입을 직접 표기해준다. let str : any = 'hello'const result = str.tofixed();위와 같이 코드 작성 시 오류가 나지 않음문자열에 tofixed 메서드이 가능해짐any 타입은 모든 동작을 허용 -> 타입 검사 불가 ->..

typescript 2024.09.20

기본 문법 익히기 (2.4 ~ 2.6)

목차2.4 배열 말고 튜플도 있다.2.5 타입으로 쓸 수 있는 것을 구분하자.2.6 유니언 타입으로 OR 관계를 표현하자.  2.4 배열 말고 튜플도 있다.배열 요소의 타입 지정 방법타입[] 또는 Array : 제네릭 표기법타입 : 요소의 타입 const arr1 : string[] = ['a', 'b', 'c'];const arr2 : Array = [1,2,3]string[] : 배열의 모든 요소가 string임Array : 배열의 모든 요소가 숫자임  타입 스크립트는 우리가 정의하지 않아도 요소의 값을 보고 추론해주는데, 문제가 있음위와 같이 타입스크립트는 number[]로 잘 추측해줌하지만, arr[3]은 값이 없어 undefined임에도 toFixed()가 잘 붙음 (빨간줄로 오류 표시가 안뜸)..

typescript 2024.09.13

타입 스크립트 기본 문법 (2.1 ~ 2.3)

목차변수, 매개변수, 반환값에 타입을 붙이면 된다.타입 추론을 적극 활용하자값 자체가 타입인 리터럴 타입이 있다객체는 const 이어도 수정 가능? 2.1 변수, 매개변수, 반환값에 타입을 붙이면 된다변수, 함수의 매개변수, 반환값에 어떤 타입을 붙일지 알아야 한다!타이핑 (typing) : 타입을 부여하는 행위기본 타입 : string, number, boolean, null, defined, symbol. bigint, object (타입스크립트 사이트의 플레이 그라운드 사용)변수 이름 바로 뒤에 콜론과 함께 타입 표기const str : string = 'hello';const num : number = 123;const bool : boolean = false;const n : null = nul..

typescript 2024.09.11