전체 글
-
[이펙티브 타입스크립트] 3장 타입 추론 (1)웹/JavaScript 2023. 6. 12. 10:00
3장 타입 추론 타입 스크립트는 타입 추론을 적극적으로 수행한다. 아이템 19. 추론 가능한 타입을 사용해 장황한 코드 방지하기 코드의 모든 변수에 타입을 선언하는 것은 비생산적이며 형편없는 스타일로 여겨진다. 타입 추론이 된다면 명시적 타입 구문은 필요하지 않다. 방해만 될 뿐이다. 함수 매개변수에 타입 구문을 생략하는 경우도 간혹 있다. 예를 들어 기본값이 있는 경우를 예로 들자. TypeScript에서 함수 매개변수의 타입 구문을 생략하는 경우, 타입 추론을 통해 매개변수의 타입을 유추하도록 할 수 있습니다. 이를 "타입 추론"이라고 합니다. 타입 추론은 변수의 할당값이나 함수의 반환값을 기반으로 해당 변수 또는 매개변수의 타입을 추론하는 TypeScript의 기능입니다. 예를 들어, 다음과 같이 ..
-
[이펙티브 타입스크립트] 1장 타입 스크립트 알아보기 심화 (Feat. ZOD)웹/TypeScript 2023. 6. 7. 15:55
타입스크립트는 런타임에서의 에러를 잡아줄 수 없음 타입스크립트는 런타임에서의 에러를 잡아줄 수 없음 EXAMPLE const test = (value: string) => { console.log(value); }; // test 함수의 매개변수는 string인데 number를 넣어서 타입 에러이다 test(1); test 함수의 매개변수는 string인데 number를 넣어서 타입 에러이다. 하지만, 위와 같은 코드가 자바스크립트로 변환되면 const test = (value) => { console.log(value); }; test(1); 이렇게 되기 때문에 코드는 정상적으로 동작한다. 그래서 타입 체커는 에러를 화면에 띄워주지만 트랜스파일된 자바스크립트 파일은 아무런 문제가 없기 때문에 정상적으로..
-
[이펙티브 타입스크립트] 2장. 타입스크립트의 타입 시스템 (2)웹/TypeScript 2023. 6. 1. 09:48
12. 함수 표현식에 타입 적용하기 타입 스크립트에서는 함수 표현식을 사용하는 것이 좋다. 반복되는 함수 시그니처를 하나의 함수 타입으로 통합할 수 있다. ex) type ArithmeticFunction = (num1: number, num2: number) => number; const add: ArithmeticFunction = (num1, num2) => { return num1 + num2; }; const subtract: ArithmeticFunction = (num1, num2) => { return num1 - num2; }; const multiply: ArithmeticFunction = (num1, num2) => { return num1 * num2; }; const divide..
-
[이펙티브 타입스크립트] 2장. 타입스크립트의 타입 시스템웹/TypeScript 2023. 5. 30. 10:02
6. 편집기를 사용하여 타입 시스템 탐색하기 TS 설치시 실행 되는 것 1. 타입 스크립트 컴파일러 (tsc) 2. 타입 스크립트 서버 (tsserver) 편집기를 통해 타입 추론을 확인 할 수 있는데, 아래와 같이 적혀 있다. item 19 (108p)를 보면 타입 추론이 된다면 명시적 타입 구문은 필요하지 않다. 오히려 모든 변수에 타입을 지정하는 것은 비생산적이고 방해가 된다. 조건문의 분기, 객체 개별 속성을 확인 할 것 ex ) bannerType은 WebView 와 Screen 둘 중 하나이지만, if 문 안의 bannerType은 WebView이다 . ex) 탐색기에서 오류 1 // 오류를 일으키는 타입스크립트 코드 예제 type User = { name: string; age: number..
-
[에러] Installed Build Tools revision 33.0.0 is corrupted. Remove and install again using the SDK Manager.React/react native 2023. 5. 24. 18:06
에러 내용 : 에러 이유 : Android SDK의 빌드 도구(Build Tools) 버전 33.0.0이 손상되어 발생한 이슈이다. 해결 방법 : sdk 폴더에서 33.0.0 파일을 열어서 d8을 dx로 수정해야 한다. 필자의 case는 33.0.0 폴더는 library>build-tools>android>sdk>33.0.0에 있었다. 참고로 터미널에서 파일을 찾으면 된다. d8 파일을 찾아 dx로 수정해주고, lib 폴더 안에 d8.jar 파일을 dx.jar 파일로 수정해주세요 dx와 d8이 뭔가요? Android SDK 33.0.0 패키지에서 dx와 d8은 Android DEX 컴파일러의 버전을 나타냅니다. dx: dx는 Android SDK 이전 버전에서 사용되던 DEX 컴파일러입니다. DEX(Da..
-
[회사] 5.11 Tech talk웹/tech talk 2023. 5. 12. 17:01
1. 닮고 싶은 사람이 있나요? 컴퓨터가 이해하는 코드는 바보도 작성할 수 있다. 사람이 이해하도록 작성하는 프로그래머가 진정한 실력자다. [Refactoring - Martin Fowler] 2. 디미터 법칙이란? 디미터 법칙(Law of Demeter)은 데메테르 법칙이라고도 불리며 줄여서 LoD라고도 불립니다. 이 법칙은 "최소한의 지식 원칙(The Principle of Least Knowledge)으로 알려져 있으며, 모듈은 자신이 조작하는 객체의 속사정을 몰라야 한다는 것을 의미합니다. 실제로 Demeter라는 프로젝트를 진행하던 개발자들은 어떤 객체가 다른 객체에 대해 지나치게 많은 정보를 알고 있다 보니, 서ㄱ 즉, 간단하게 말하면 여러개의 .(dot)을 최대한 사용하지 말라는 법칙으로 말..
-
[이펙티브 타입스크립트] 1장. 타입 스크립트 알아보기웹/TypeScript 2023. 5. 12. 15:56
Typescrit 타입스크립트란? 성숙하고 효율적으로 변모한 자바스크립트의 완성도를 채워줄 마지막 퍼즐 아이템 1 . 타입 스크립트와 자바스크립트의 관계 이해하기 타입 스크립트는 자바스크립트의 상위집합(superset)이다 타입 체커를 통과하면서도 런타임 오류를 발생시키는 코드는 충분히 존재할 수 있다. 즉, 타입 검사는 런타임에서 발생하는 동적인 문제들을 모두 해결해주지는 않습니다. 예시) const name = ['aaaa', 'bbbb']; // 런타임에러 console.log(name[1].toUppercase()); // 메소드 오타 console.log(name[2].toUpperCase()); // name[2] undefined // 정상작동 console.log(name[1].toUppe..
-
[점핏 프론트 강연] JUMPIT TO FRONTEND 강연 후기 (2)웹/tech talk 2023. 5. 1. 11:04
section 1. 센스있게 일하는 FE 개발자 되기 협업?! 이렇게 한번 해봐 - FE 개발자가 타 직군과 대화를 잘 해야하는 이유 Speaker: 유동균(프론트엔드 성능 최적화 가이드) 기획자, 디자이너, 개발자를 이어주는 번역기가 되자! 프론트엔드에서 소통의 중요성 프론트엔드의 소통 = 중간 다리 프론트엔드가 소통을 잘하면 팀의 퍼포먼스를 증가할 수 있다. How to communication 1. 맥락 이 사람이 무엇을 모르는가? - 현재 상황과 상대방이 모를 수 있는 것들을 설명하는 것 2. 의도 무엇을 원하는가 ? - 원하는 바를 구체적으로 말하고 이유를 덧붙여라 목적지향적 태도 / 광범위한 이해도 좀더 깊이 들어가서 맥락과 의도를 잘 파악하고 챙기려면 어떻게 해야할까? 1. 목적지향적인 태도..