Typescript

Typescript

(TS) 타입 단언 (Type Assertion)

타입 단언 : 내가 너보다 많이 알아! 타입단언은 타입스크립트보다 개발자 본인이 더 타입을 명확히 알고 있으며 타입스크립트가 타입 정의를 잘 못하고 있을 때, 개발자가 타입을 주입시켜 주는 행위를 말한다. 위 상황에서 개발자인 우리는 index.html에 input과 button 엘리먼트가 각각 존재하고, 위 코드와 알맞는 id를 가지고 있는 것을 알 수 있다. 하지만 타입스크립트는 오류를 내뿜는다. 이유는 타입스크립트가 btn과 input이 HTMLElement라는 것을 document.getElementById를 통해서 알고는 있지만 HTMLElement에는 value라는 프로퍼티가 없기 때문에 오류를 내뿜는 것이다. 하지만 input의 타입은 HTMLElement가 아니다. 그렇다면 어떤 타입인지 ..

Typescript

(TS) non null / optional chaning

btn이 버튼이라고 위에 선언했는데 왜 아래에서 이벤트리스너를 붙일 때 에러 메세지가 나는 걸까? 이유는 btn이 HTMLElement일 수도 있지만 null이 될 수도 있어서이다. null에는 이벤트를 붙여줄 수 없기 때문에 타입스크립트에서는 오류를 내뿜는다. 이를 막아줄 수 있는 방법이 2가지 정도 존재하는데 첫번째는 이것은 null이 무조건 아님! 하면서 ts에서 별도의 선언을 해주는 것이다. 이를 non-null 연산자라고 하며 !와 관련이 있다. 위의 사진처럼 첫번째 코드의 맨 뒷줄에 !를 넣어주면 const btn은 무조건 null이 아님! 이라고 선언해주는 것과 같게 된다. 따라서 btn에 이벤트리스너를 붙여줄 때 에러가 나지 않게 된다. 이런 강제적인 방법말고, 옵셔널 체이닝을 이용하는 방..

Typescript

(TS) tsconfig / lib

https://www.typescriptlang.org/tsconfig#lib TSConfig Reference - Docs on every TSConfig option From allowJs to useDefineForClassFields the TSConfig reference includes information about all of the active compiler flags setting up a TypeScript project. www.typescriptlang.org 먼저 공식문서의 tsconfig에 대한 lib의 설명을 보자. 타입스크립트는 빌트인 JS API (Math 메서드 세트 같은) 에 대한 타입 정의를 디폴트 세트로 가지고 있습니다. 그리고 브라우저 환경에 관련된 타입(doc..

Typescript

(TS) document interface

열심히하자.

Typescript

(TS) Functions Parameters/Return Type

Functions Parameters Type 함수의 파라미터(parameter)에 어떤 타입의 인수(argument)가 들어와야 하는지 명시해줄 수 있음. 파라미터에 n:type 형식으로 타입을 명시함. Functions Return Type 함수의 리턴값도 타입으로 명시해줄 수 있음. 보통의 경우에는 타입스크립트가 알아서 추론하지만 명시해주는 것이 도움될때가 많음. Union type 값이나 타입이 하나만 반환되지 않을 경우 유니온 타입이라고 함. Annonymous Functions 익명함수를 호출할 경우, 파라미터의 타입을 자동적으로 추론함. 또한 Contextual 부분도 자동적으로 감지할 수 있음. (실행 컨텍스트 관련) Void 아무것도 반환하지 않는 함수의 반환타입으로 사용하는 타입 nev..

Typescript

(TS) Type Annotation + Type Inference

Type Annotation type Annotation(타입 주석) : 변수에 자료형을 명시해 주는 것 let myVar: type = value 형식으로 작성 type 부분은 소문자로만 작성해야 함. (대문자 등등 X) Type Inference 타입스크립트 컴파일러가 코드의 value를 추론해서 타입을 생성함. 즉 Type annotation을 사용하지 않아도 타입이 자동적으로 강제됨. any any 타입은 딱히 타입을 캐치하지 않음. 남발하면 JS와 다를바 없는 코드가 됨.

2DC
'Typescript' 카테고리의 글 목록 (2 Page)