본문 바로가기

모카 스터디/JavaScript

한입크기로 잘라먹는 타입스크립트 - 타입 조작 및 조건부 타입 및 유틸리티 타입 - [인프런] 섹션 8 타입 조작하기 타입 조작하기 인덱스드 엑세스 타입 keyof 연산자 맵드 타입 keyof 연산자도 사용 템플릿 리터럴 타입 섹션 9 조건부 타입 조건부 타입 소개 주로 제네릭과 함꼐 사용한다. 분산적인 조건부 타입 infer - 조건부 타입 내에서 타입 추론하기 음... 솔직히 조건부 타입 전체적으로 전혀 활용을 어디에 해야하는지 느낌이 안오고 그냥 그렇구나..라고만 느껴진다.. 언젠가 필요성이 느껴지겠지.. 섹션 10 유틸리티 타입 유틸리티 타입 소개 맵드 타입 기반의 유틸리티 타입 1 - Partial, Required, Readonly,Pick, Omit, Record 레코드 타입의 구현 이 한줄로 위에서 길게 작성한 타입을 구현가능 record타입은 객체타입을 만들어준다. 조건부 타입 .. 더보기
한입크기로 잘라먹는 타입스크립트 - 제네릭 - [인프런] 섹션 7 제네릭 제네릭 소개 타입 변수 응용하기 2개의 타입 변수가 필요한 상황이라면 다음과 같이 T, U 처럼 2개의 타입 변수를 사용 다양한 배열 타입을 인수로 받는 제네릭 함수를 만들어야 한다면 다음과 같이 할 수 있습니다. 타입 변수를 제한하는 사례. map, forEach 메서드 타입 정의하기 오른쪽은 파라미터의 타입과 반환형의 타입이 다를때 까지 고려. 제네릭 인터페이스 & 제네릭 타입 별칭 타입 변수 =타입파라미터=제네릭 타입변수=제네릭 타입 파라미터 제네릭 클래스 프로미스와 제네릭 더보기
한입크기로 잘라먹는 타입스크립트 - 인터페이스와 클래스 - [인프런] 섹션 5 인터페이스 인터페이스 오버로딩을 구현하고 싶으면 호출 시그니처를 사용 인터페이스 확장하기 중복된 트로퍼티가 많아서 확장을 이용 또한 인터페이스는 객체 형식이면 상속이 가능하다. 인터페이스 합치기 라이브러리 모듈 보강 할때 말곤 크게 않쓰인다. 섹션 6 클래스 타입스크립트의 클래스 왼쪽과 같이 타입스크립트의 클래스에서는 모든 필드의 타입을 다 적어줘야 오류가 나지 않는다. 타입을 적어주지 않으면 모두 any로 추론되어 에러가 난다.(물론 config파일에서 옵션을 변경하여 안뜨게도 할수 있다.) 또한 오른쪽과 같이 상속을 했을 시 super를 꼭 써야한다. 접근 제어자 원래는 기본인 public으로 설정되어있다. ==> 그럼 인스턴스에서 자유롭게 접근해서 사용이 가능하다. private으로 설정을.. 더보기
한입크기로 잘라먹는 타입스크립트 - 함수와 타입 - [인프런] 섹션 4 함수와 타입 함수 타입 선택적 매개변수 사용시 가드(guard)를 사용해서 tall에 10을 더할 수 있게 한다. 또한 필수적 매개변수가 선택적 매개변수보다 앞에 있어야한다. 위와 같이 가변적인 인자들은 스프레드 연산자를 이용한다. 함수 타입 표현식과 호출 시그니쳐 위와 같은 함수 타입 표현식은 잘 쓸꺼같진 않을꺼같다.. 위와 같은 호출 시그니처도 그닥..안쓸듯 함수 타입의 호환성 특정 함수 타입을 다른 함수 타입으로 괜찮은지 판단하는 것을 의미합니다. 다음 2가지 기준으로 함수 타입의 호환성을 판단하게 됩니다. 1. 두 함수의 반환값 타입이 호환되는가? 2. 두 함수의 매개변수의 타입이 호환되는가? 예제가 많고 복잡해서 코딩하다가 문제가 생길시 공부해서 체득하는게 좋을듯 함수 오버로딩 자바스크.. 더보기
한입크기로 잘라먹는 타입스크립트 - 이해하기 - [인프런] 섹션 3 타입스크립트 이해하기 타입스크립트 이해하기 타입은 집합이다 타입 계층도와 함께 기본타입 살펴보기 unknown 타입 (전체 집합) unknown 타입은 타입 계층도의 최 상단에 위치합니다. unknown 타입 변수에는 모든 타입의 값을 할당할 수 있습니다. 바꿔 말하면 모든 타입은 unknown 타입으로 업 캐스트 할 수 있습니다. never 타입 (공집합 타입) never 타입은 타입 계층도에서 가장 아래에 위치합니다. void 타입 any 타입 어떤 곳으로 가든 어떤 곳에서 오든 모든 업캐스팅 다운 캐스팅이 가능하다 ==> 치트키 단, never 타입에서의 다운 캐스팅으 예외이다. 객체 타입의 호환성 초과 프로퍼티 검사 : 변수를 초기화(및 함수 인자 전달) 할때 초기화 하는값으로 객체 리터.. 더보기
한입크기로 잘라먹는 타입스크립트 - 기본타입 - [인프런] 섹션 2 타입스크립트 기본 기본타입 원시타입과 리터럴타입 다른 타입에 null을 넣으려면 옵션을 확인하고 수정을 통해 진행 배열과 튜플 튜플의 유용한 사용 예 객체 저 user는 객체긴한데 그 이상의 정보는 몰랑 ㅇㅅㅇ,, 와 같다 객체 리터럴 표기법으로 주로 사용 선택적 프로포티 , 옵셔널 프로퍼티로 지정. 프로포티의 값을 바꾸는 행위를 막는다. 타입 별칭과 인덱스 시그니처 이렇게 너무 타입 명시가 길어진다 ==> 타입 별칭 사용 객체 타입의 정의를 도와주는 ==>인덱스 시그니처 key와 value의 타입에 따라 규칙을 정할 수 있다. type에 명시한 규칙만 지키면 문제가 없다. => 그래서 꼭 필요한 값이 있어야 하면 아래와 같이 따로 명시를 해주는게 좋다. 또한 왼쪽과 같이 타입이 호환되어야 한다.. 더보기
한입크기로 잘라먹는 타입스크립트- 소개 및 개론- [인프런] https://ts.winterlood.com/6c9bf87f-6a8f-4e96-95b4-5e12d9f82165 Hello TS World - 타입스크립트 개론 한 입 크기로 잘라먹는 타입스크립트 ts.winterlood.com 섹션 0 강의 소개 섹션 1 타입스크립트 개론 타입스크립트를 소개합니다 자바스크립트의 한계점과 타입스크립트 프로그램이 비정상적으로 종료된다. 하지만 실행은 된다. 타입스크립트의 동작 원리 즉, 프로그램 실행결과에는 아무런 영향을 미치지 않는다. 타입스크립트 컴파일러 옵션 설정하기 타입스크립트의 컴파일러 옵션은 패키지 루트 폴더 아래에 tsconfig.json이라는 파일에 설정할 수 있다. 컴파일러 옵션을 설정하는 가장 쉽고 빠른 방법은 자동 생성 도구를 이용하는 방법 입니다. 터.. 더보기
한입 크기로 잘라 먹는 리액트 -Promise - 콜백 지옥에서 탈출하기 + async&await- [인프런] resolve와 reject는 콜백 함수 이다. Promise 없이 resolve와 reject를 사용한 비동기 예제 비동기 작업 자체인 Promise를 저장할 상수 asynTask를 만들어준 다음에 new키워드를 사용해 Promise객체를 생성하면서 Promise객체의 생성자로 비동기 작업의 실질적인 실행자 함수 executor를 넘겨주면 자동으로 executor함수가 실행된다. 함수의 리턴값이 프로미스 타입인걸 확인할 수 있다. ==> 이함수는 비동기 작업을 하고 그 작업의 결과를 프로미스 객체로 반환받아서 사용할 수 있는 함수 이다. Promise객체인 then과 catch를 사용하면 reslove를 수행 했을떄의 결과 값을 then 콜백 함수에서 사용할 수 있고 reject를 수행 했을 때의 결과.. 더보기