CHATER9 타입 제한자9.1 top 타입top 타입은 시스템에서 가능한 모든 값을 나타내는 타입이다. 모든 다른 타입이 top인 위치에 제공될 수 있으며, 즉 모든 타입은 top 타입에 할당할 수 있다. 9.1.1 any 다시 보기any 타입은 모든 타입의 위치에 제공 될 수 있다는 점에서 top 타입 처럼 작동할 수 있지만, TS가 해당 값에 대한 할당 가능성 또는 멤버에 대해 타입 검사를 수행하지 않도록 명시적을 지시한다는 문제점을 가지고 있다.이러한 안정성 부족은 TS의 타입 검사기를 건너뛰려고 할 때 유용하지만, 타입 검사를 비활성화하면 해당 값에 대한 TS의 유용성이 줄어든다.예를 들어 아래의 name.toUpperCase() 호출은 확실히 문제가 되지만, name이 any로 선언되었기 때문..
CHAPTER8 클래스Class를 학습하기 전 먼저 객체지향 프로그래밍을 살짝 알고 들어가자. 객체지향 프로그래밍(OOP: Object-oriented programming)모든 것을 객체(Object)로 보고 그 객체들끼리 역할, 책임, 협력 등 객체들의 관계를 중심으로 프로그래밍 하는 기법을 말한다. 객체지향의 4대 특성1. 캡슐화(encapuslattion)연관된 데이터(변수)와 기능(메소드)을 하나로 묶고, 불필요한 요소를 외부에 노출되지 않도록 설계하는 방식을 뜻한다. 2. 상속(inheritance)기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것을 의미한다. 상속을 이용하면 기존에 정의되어 있는 클래스의 모든 필드와 메서드를 물려받을 수 있다. 3. 추상화(abstra..
CHAPTER5 함수5.1 함수 매개변수function sing(song: string) { console.log(song);}sing("Hello");변수와 마찬가지로 타입 애너테이션을 통해 타입을 선언해 준다. 5.1.1 필수 매개변수JS에서는 인수의 수와 상관없이 함수를 호출할 수 있지만, TS에선 함수에서 선언된 모든 매개변수가 필수라고 가정하여 잘못된 수의 인수로 호출하면 타입오류가 발생한다.function singTwo(first: string, second: string) { console.log(`${first} ${second}`);}singTwo("do"); //Expected 2 arguments, but got 1singTwo("do", "re"); 5.1.2 선택적 매개변수JS..
CHAPTER3 유니언과 리터럴이전 챕터에서는 타입시스템의 개념과 타입시스템이 타입을 이해하기 위해 값을 읽는 방법을 배웠다.이번 챕터에 TS가 해당 값을 바탕으로 추론을 수행하는 두 가지 핵심 개념을 확인해 보자.유니언(union): 값에 혀동된 타입을 두개 이상의 가능한 타입으로 확장하는 것내로잉(narrowing): 값에 허용된 타입이 하나이상의 가능한 타입이 되지 않도록 좁히는 것유니언과 내로잉은 코드 정보에 입각한 추론을 해내는 강력한 개념 3.1 유니언 타입let mathematician = Math.random() > 0.5 ? undefined : "Mark Goldberg";'이거 혹은 저거'와 같은 타입을 유니언이라 한다. 1. 유니언 타입 선언let thinker: string |..
들어가기 전스터디에서 채택한 도서는 한빛미디어에 러닝 타입스크립트라는 책이다.애초에 타입스크립트는 찍먹만 해봤기 때문에 이번엔 푹먹으로 학습 해보자.나는 windows를 사용하기 때문에 windows로 작성하겠다.들어가자. CHATER1 자바스크립트에서 타입스크립트로 1.1 자바스크립트의 역사1995년 넷스케이프에서 웹사이트에 쉽게 접근하고 사용할 수 있는 JS를 개발했는데, 그 당시 개발자들은 별난 특성과 결점을 조롱했다고 한다. 그 이후로 JS기반의 ECMA 스크립트를 출시했고, 다른 최신 언어에서 제공하는 기능에 맞춘 새로운 기능들을 제공 했다. JS는 브라우저, 임베디드 애플리케이션(PC가 아닌 장치에 내장된 특수 프로그래밍), 런타임을 포함한 다양한 환경에서 새로운 버전과 이전버전과의 호환성..