Typed JavaScript at any ScaleTypeScript extend JavaScript by adding types.By understanding JavaScript, TypeScript saves you time catching errors and p
Node.jsChrome’sV8 JavaScript Engine 을 사용하여, JavaScript 를 해석하고 OS 레벨에서의 API 를 제공하는 서버사이드용 JavaScript Run Time 환경BrowserHTML 을 동적으로 만들기 위해Browser 에서 Jav
TypeScript CompilerVS Code Compiler 가 내장되어 있음내장된 Compiler version 은 VS Code 가 업데이트 되면서 올라간다.Compiler version 과 VS code version 은 상관 관계가 있다.내장된 Compile
Static Types(set during development)Dynamic Types(resolved at runtime)사용자가 만든 타입은 결국은 이 기본 자료형들로 쪼개진다.JavaScript 기본 자료형을 포함(superset)ECMAScript 표준에 따른
오브젝트와 레퍼런스 형태가 아닌 실제 값을 저장하는 자료형Primitive 형의 내장 함수를 사용 가능한 것은 JavaScript 처리 방식 덕분(ES2015 기준) 6가지booleannumberstringsymbol(ES2015)nullundefinedliteral
mkdir basic-typesnpm init -ynpm i typescript -Dnpx tsc —initnpx tsc (ts 파일을 js 새 파일로 생성)node boolean.js (boolean)
JavaScript 와 같이, TypeScript 의 모든 숫자는 부동 소수점 값이다.TypeScript 는 16진수 및 10진수 리터럴 외에도, ECMAScript 2015 에 도입된 2진수 및 8진수를 지원한다.NaN1_000_000 과 같은 표기 가능
다른 언어에서와 마찬가지로 텍스트 형식을 참조하기 위해 ‘string' 형식을 사용한다.JavaScript 와 마찬가지로, TypeScript 는 문자열 데이터를 둘러싸기 위해 큰 따옴표(”)나, 작은 따옴표(’) 를 사용한다.행에 걸쳐 있거나, 표현식을 넣을 수 있는
ESMAScript 2015 의 Symbolnew Symbol 로 사용할 수 없음Symbol 을 함수로 사용해서 symbol 타입을 만들 수 있음console.log(Symbol('foo') === Symbol('foo'));⇒ falseprimitive 타입의 값을
TypeScript 에서 undefined 와 null 은 실제로 각각 undefined 및 null 이라는 타입을 가진다.void 와 마찬가지로 그 자체로는 그다지 유용하지 않음둘 다 소문자만 존재함설정(tsconfig.json)을 하지 않으면 그렇다.number 에
a type that represents the non-primitive type“primitive type 이 아닌 것” 을 나타내고 싶을 때 사용하는 타입not number, string, boolean, bigint, symbol, null, or undefine
JavaScript 에서 Array 는 객체이다.사용방법Array<타입>타입\[]
어떤 타입이어도 상관없는 타입최대한 쓰지 않는게 좋음Compiletime 에 타입 체크가 정상적으로 이루어지지 않기 때문Compile option 중에는 any 를 써야하는데 쓰지 않으면 오류가 나오는 옵션이 있음.nolmplicitAnyany 는 계속해서 개체를 통해
unknownWe may need to describe the type of variables that we do not know when we are writing an application.These values may come from dynamic content
never 타입은 모든 타입의 subtype 이며, 모든 타입에 할당 할 수 있음never 에는 그 어떤 것도 할당할 수 없음any 도 never 에 할당할 수 없음잘못된 타입을 넣는 실수를 막고자 할 때 사용함.
어떤 타입도 가지지 않는 빈 상태값을 반환하지 않음(undefined)
Compiler 에게 사용하는 타입을 명시적으로 지정하는 시스템Compiler 가 자동으로 타입을 추론하는 시스템타입을 명시적으로 지정할 수 있다.타입을 명시적으로 지정하지 않으면, TypeScript Compiler 가 자동으로 타입을 추론자신의 코드에서 해당 함수를
만약 어떤 새가 오리처럼 걷고, 헤엄치고, 꽥꽥거리는 소리를 낸다면 나는 그 새를 오리라고 부를 것이다.TypeScript 는 duck typing 아님
strictFunctionTypes 옵션을 켜면함수를 할당할 시에 함수의 매개변수 타입이 같거나 슈퍼타입인 경우가 아닌 경우, 에러를 통해 경고한다.
Interface 와 비슷해 보임Primitive, Union Type, Tuple, Function기타 직접 작성해야하는 타입을 다른 이름을 지정할 수 있음만들어진 타입의 refer 로 사용하는 것이지 타입을 만드는 것은 아님
TypeScript Deep DiveThe compilation context is basically just a fancy term for grouping of the files that TypeScript will parse and analyze to determi
https://json.schemastore.org/tsconfig(버전에 올라갈수록 추가되고 있음)최상위 PropertycompileOnSaveextendscompileOptionsfilesincludeexcludereferencestypeAcquisitio
true / false(default false)who?Visual Studio 2015 with TypeScript 1.8.4 이상atom-typescript 플러그인https://github.com/TypeStrong/atom-typescript#compi
파일(상대)경로명: stringTypeScript 2.1 New Spechttps://github.com/tsconfig/bases
셋 다 설정이 없으면, 전부 다 컴파일files상대 혹은 절대 경로의 리스트 배열exclude 보다 강함include, excludeglob 패턴(.gitignore)includeexclude 보다 약함같은 걸 사용하면, .ts / .tsx / .d.ts 만 inclu
npm i reactnpm i --save-dev @types/reactnode_modules/@types/react/index.d.tsTypeScript 2.0 부터 사용 가능해진 내장 type definition 시스템아무 설정을 안하면?node_modules/@t
target빌드의 결과물을 어떤 버전으로 할 것이냐지정을 안하면 es3lib기본 type definition 라이브러리를 어떤 것을 사용할 것이냐lib 를 지정하지 않았을 때,target 이 ‘es3’ 이고, default 로 lib.d.ts 를 사용target 이 ‘
npx tsc⇒ 최상위 경로에 test.js 생성!npx tsc⇒ dist/test.js 생성!npx tsc⇒ dist/src/hello.js 생성!
Enable all strict type checking options.—noImplicitAny—noImplicitThis—strictNullChecks—strictFunctionTypes—strictPropertyInitialization—strictBindCall
npx tsc
npx tscnode interface.js안녕하세요! Mark입니다.안녕하세요! Mark입니다.
Function Array intersection union types Declaration Merging - interface Declaration Merging - type alias
object 를 만드는 blueprint(청사진, 설계도)클래스 이전에 object 를 만드는 기본적인 방법은 fucntionJavaScript 에도 class 는 es6 부터 사용 가능OOP 을 위한 초석TypeScript 에서는 클래스도 사용자가 만드는 타입의 하나
readonly : 초기화 되는 영역에서만 할당할 수 있음(수정 방지)
Generics, Any 차이점 Generics Basic Generics Array & Tuple Generics Function Generics Class Generics with extends keyof & type lookup system