TypeScript 9

zustand persist에 타입 제공하기

전역 상태인 AuthState를 LocalStorage에서 사용하기 위헤 store 객체를 persist로 감쌌더니, 타입 에러가 발생했다. Argument of type 'StateCreator' is not assignable to parameter of type 'StateCreator'. Type 'StateCreator' is not assignable to type '{ $$storeMutators?: [] | undefined; }'. Types of property '$$storeMutators' are incompatible. Type '[["zustand/persist", AuthState]] | undefined' is not assignable to type '[] | undefin..

Typescript 2023.08.26

타입스크립트 프로그래밍(더 빠르고 안정적인 자바스크립트 앱 개발을 위한 핵심 기능과 활용법) 리뷰

최근 Javascript 개발에 Typescript가 주로 사용되면서 학습 자료는 웹상에서도 방대하게 존재하지만 너무 단편적인 정보(특정 프레임워크에 종속된 사용법)나 겉핥기 수준의 정보(단순히 타입을 적는)들, 공식문서처럼 딱딱한 문서들이 대다수라, 기초부터 자세하게 알려주는 기본서 격의 문서를 찾고 싶어서 많은 시간을 허비했는데, 이 책이 그 갈증을 제대로 해결해줬다. 먼저 읽었던 Do it 타입스크립트의 경우에는 혼재되어있는 Javascript와 Typescript 개념 때문에 필요하지 않았던 정보(기본적인 Javascript 문법)가 너무 많았는데, 이 책은 Javscript Superset으로의 Typescript, 즉 값이 아닌 타입에 대한 내용이 주로 서술되었다. 따라서 일정 수준의 Java..

서평 2023.04.03

7장 연습문제

interface UserID { } class API { getLoggedInUserId(): Option { return _Option("something") } getFriendIds(userID: UserID): Option { return _Option([]) } getUserName(userID: UserID): Option { return _Option("test") } } const api = new API const result = api.getLoggedInUserId().flatMap(_ => api.getFriendIds(_)).flatMap(_ => api.getUserName(_)) Option의 내부에 api 호출의 결과(실패할 수도 있는)를 집어넣어서 에러를 처리해야 하는데,..

6장 연습문제

/* 1. 첫 번째 타입 T, 두 번째 타입 U a. 가능하다 T U c. 가능하다 T U g. 가능하다 T < U h. 가능하다 T < U i. 가능하다 T = U j. 불가능하다 T와 U가 서로소 집합 k. 가능하다 (같은 반환형에 더 넓은 매개변수) l. 불가능하다 (서로 다른 열거형) 2. keyof O = 'a' O['a']['b'] = c : string */ //T = string | boolean | number , U = boolean | number | string[] 3. type Exclusive = Exclude | Exclude /* type A = 1 |..

5장 연습문제

//1번. 인터페이스는 타입만 가지고 있는 반면 클래스는 실제 값과 타입을 모두 가질 수 있다. //2번.상속은 가능하지만 인스턴스화 할 수 없다. 상속받은 클래스 또한 인스턴스화 할 수 없다. class testA { protected constructor( public Name: string ) { } } const test1 = new testA("name1");//Constructor of class 'testA' is protected and only accessible within the class declaration. class testB extends testA {} const test2 = new testB("name2")//Constructor of class 'testA' is pr..

4장 연습문제

//1. 함수의 반환형을 추론한다. 컨택스트로부터 매개변수 타입을 추론할 때도 있다.(ex : 콜백 함수의 경우) //2. 제공하지 않는다. Rest 매개변수로 대체해야 한다. //3. type Reserve = { (from: Date, to:Date, destination: string): void (from: Date, destination : string ): void (destination: string ) : void } const reserve: Reserve = ( fromOrDestination : Date | string, toOrDestination? : Date | string, destination? : string ) => { if(toOrDestination instanceof..

3장 연습문제

1번 let a = 1042 //number let b = "apples" //string const c= "pineapples"//string const d = [true, true, false] //boolean[] const e = {type: "ficus"} // {type:string} const f = [1, false] // (number|boolean)[] const g = [3] // number[] let h = null // null h는 null일 줄 알았는데 any였다. 2번 //a let i:3 = 3 i = 4 //리터럴 타입 3으로 지정됐다 //b let j = [1,2,3] j.push(4) j.push('5') //초기에 number[] 타입으로 정해졌다 //c let k..

Do it! 타입스크립트 프로그래밍 리뷰

최근 Typescript에 대해 더 깊게 알고싶어서 여러 Typescript 기본서를 읽어보고 있다. 이 책은 부제에서 알 수 있듯 함수형 프로그래밍에 대한 예제도 담고 있는데, 끝까지 다 읽어본 결과, Typescript 기본서라기 보다는 함수형 프로그래밍 입문 서적에 가까웠다. 보통 Typescript에 대해 관심을 갖고 공부하는 사람이라면 일정 수준의 ES6 문법을 학습한 Javascript 개발자라고 생각한다. 그러나 책은 기본적인 Javascript 문법에 대한 내용도 담고 있다. 또한 Javascript와 Typescript를 구분짓지 않고 모조리 Typescript라고 설명한다. 아예 Javascript를 접해보지 않았던 독자를 대상으로 한다면 나름 이해하기 편한 설명이 될 수도 있겠지만, ..

서평 2023.03.21

【한글자막】 React 완벽 가이드 with Redux, Next.js, TypeScript (Udemy) 후기

9개월 전에 구매했던 강좌인데 이제야 겨우 완강했다. 완강하는데 오래 걸린 이유를 꼽자면 1. 여러 실전 프로젝트나 서적을 통해 이미 React를 어느 정도 숙달한 상황이었음. 2. 강의 내용이 정말 많고(49시간 분량), 다소 오래된(클래스형 컴포넌트 등) 내용이 있음. 3. 1과 겹치는 면이 없잖아 있지만 다소 쉬운 강의 내용.(도전욕구가 생기지 않아 손이 안 감) 이 있었다. 최근에 CS 공부를 시작하면서 개발을 잘 안하는 상황이었고, React에 대한 감을 잃을까봐 쉬면서 가볍게 듣다보니 완강하게 되었다. 강의 타이틀에도 적혀있듯이 Redux와 Next.js, Typescript도 포함된 광범위한 내용이지만, 각 항목별 간단한 토이 프로젝트를 진행하는 정도로 배우고 이 모두를 아우르는 거대한 프로..

Frontend/React 2023.03.03
728x90