러닝타입스크립트5 Typescript 클래스 * 조시 골드버그의 러닝 타입스크립트라는 책을 읽고 정리하면서 코드를 작성해본 내용입니다. 1. 클래스와 메서드 타입스크립트는 일반 함수와 마찬가지로 메서드를 이해한다. 매개변수 타입이나 인수 개수를 추론하고, 반환 타입을 지정하지 않으면 추론 가능하다. 클래스의 constructor도 메서드와 마찬가지로 취급된다. 인스턴스를 생성할 때 인수의 타입과 개수가 알맞은지 확인한다. 2. 클래스 프로퍼티 타입스크립트에서 클래스의 프로퍼티를 읽거나 쓰려면 명시적으로 선언해야 한다. 클래스 프로퍼티는 인터페이스와 동일한 구문으로 작성한다. 프로퍼티 이름 뒤에 선택적으로 타입 애너테이션을 붙일 수 있다. 선언되지 않은 프로퍼티에 값을 할당하려고 하면 에러가 발생한다. 클래스에 명시적으로 프로퍼티를 선언함으로써 클래.. 2023. 3. 9. Typescript 인터페이스 * 조시 골드버그의 러닝 타입스크립트라는 책을 읽고 정리하면서 코드를 작성해본 내용입니다. 인터페이스(interface)는 연관된 이름으로 객체 형태를 설명하는 또다른 방법이다. 인터페이스는 타입 별칭(type)과 유사하지만 일반적으로 더 읽기 쉬운 오류 메시지, 더 빠른 컴파일러 성능, 클래스와의 더 나은 상호 운용성을 위해 선호된다. 1. 타입 별칭(type) vs 인터페이스(interface) 두 구문은 거의 비슷하다. 차이점은 다음과 같다. ⓵ 인터페이스는 속성 증가를 위해 병합할 수 있다.(이 장 뒷부분에 설명) 이 기능은 외부 코드(라이브러리 등)를 사용할 때 특히 유용하다. ⓶ 인터페이스는 클래스가 선언된 구조의 타입을 확인하는 데 사용할 수 있지만 타입 별칭은 사용할 수 없다. ⓷ 일반적으.. 2023. 3. 5. Typescript 배열 * 조시 골드버그의 러닝 타입스크립트라는 책을 읽고 정리하면서 코드를 작성해본 내용입니다. 자바스크립트에서의 배열은 어떤값이라도 요소로 가질 수 있다. 그러나 이러한 경우는 흔치 않으며 대부분 하나 혹은 두개의 타입만 가지는 배열을 사용한다. 타입스크립트에서는 초기 배열에 어떤 데이터 타입이 있는지 기억하고 배열이 해당 데이터 타입만 요소로 가질 수 있도록 제한한다. 명시적인 데이터타입을 선언하지않으면 초기값에서 코드의 의도를 이해하려고 시도한다. 1. 배열 타입 배열의 타입 애너테이션은 배열의 요소 타입 다음에 []가 와야 한다. Array 같은 구문도 사용가능하다. 배열과 함수 타입 괄호를 사용하여 어느 부분이 함수타입이고 어느 부분이 배열타입인지 나타낼 수 있다. 괄호의 위치에 따라 완전히 다른 타.. 2023. 3. 3. 유니언과 리터럴 * 조시 골드버그의 러닝 타입스크립트라는 책을 읽고 정리하면서 코드를 작성해본 내용입니다. 유니언 타입(Union Type) 유니언 타입이란 값에 허용된 타입을 두 개 이상으로 확장하는 타입을 말한다. num이라는 변수는 조건에 따라 number type일 수도 있고 undefined type 일 수도 있다. 이럴 때 타입스크립트는 가능한 타입 사이에 | 연산자를 사용하여 유니언 타입을 나타낸다. 개발자가 한 변수에 여러개의 타입을 사용하고자 하는 경우 타입 애너테이션을 사용하여 명시적으로 유니언 타입을 표기할 수 있다. 유니언 타입 선언은 타입 애너테이션으로 타입을 정의하는 모든 곳에서 사용 가능하다. 타입의 순서는 중요하지 않다. number | undefined 와 undefined | number.. 2023. 2. 26. Typescript의 타입 - 러닝 타입스크립트 * 조시 골드버그의 러닝 타입스크립트라는 책을 읽고 정리하면서 코드를 작성해본 내용입니다. Type? 타입은 javascript에서 다루는 값의 형태에 대한 설명이다. Typescript 에는 javascript 와 마찬가지로 7가지의 원시값이 존재한다. Typescript에서 타입을 명시적으로 지정하지 않고 변수에 값을 할당해도 자체적으로 타입을 추론할 수 있다. 연산자를 넣어도 Typescript가 자체적으로 변수에 어떤값이 들어오는지 추론 가능하다. Typescript의 타입시스템은 다음과 같이 동작한다. ⓵ 코드를 읽고 존재하는 모든 타입과 값을 이해한다. ⓶ 각 값이 초기선언에서 가질 수 있는 타입을 확인한다. ⓷ 각 값이 추후 코드에서 어떻게 사용될 수 있는지 모든 방법을 확인한다. ⓸ 값의 .. 2023. 2. 25. 이전 1 다음