TypeScript Guidebook
  • TypeScript 가이드북
  • 소개
    • TypeScript를 사용하는 이유
  • 환경 구성 / CLI
    • 컴파일 설정
    • 린팅
    • IDE / 에디터
    • Google TypeScript Style
    • TSDX
  • 타입
    • primitive 타입
    • any 타입
    • array 타입
    • tuple 타입
    • enum 타입
    • function / union / void 타입
    • object 타입
    • null / undefined 타입
    • never 타입
    • 사용자 정의 타입
    • 타입 어설션
  • TS vs ES6
    • 블록 영역 변수, 상수 선언
    • 템플릿 리터럴
    • 화살표 함수
    • 전개 연산자 / 매개변수
    • 비구조화 할당
  • 클래스
    • 속성 with 접근 제어자
    • 메서드 with 접근 제어자
    • 상속
    • 게터 / 세터
    • 스태틱 속성, 메서드
    • 추상 클래스
    • 싱글턴
    • 읽기전용 속성
  • 네임스페이스와 모듈
    • 네임스페이스
    • 네임스페이스 멀티 파일
    • 네임스페이스 중첩
    • 모듈
    • 모듈 번들링
  • 인터페이스
    • 인터페이스와 클래스
    • 인터페이스와 매개변수
    • 인터페이스와 객체 리터럴
    • 인터페이스 옵션 속성
    • 인터페이스 읽기 전용 속성
    • 인덱스 시그니처 속성
    • 인터페이스와 함수타입
    • 인터페이스 확장
  • 제네릭
    • 제네릭과 클래스
    • 제네릭과 함수
    • 멀티 타입 설정
    • 타입 변수 상속
  • 데코레이터
    • 데코레이터 / 팩토리
    • 데코레이터 구성
    • 클래스 데코레이터
    • 메서드 데코레이터
    • 접근 제어자 데코레이터
    • 속성 데코레이터
    • 매개변수 데코레이터
Powered by GitBook
On this page
  • 설명
  • 실습
  • 참고
  1. 타입

타입 어설션

Previous사용자 정의 타입NextTS vs ES6

Last updated 6 years ago

설명

TypeScript 프로그래밍을 하다 보면 타입 어설션(단언, Assertion)을 사용해야 할 순간이 오게 됩니다. 타입 어설션은 컴파일러에게 "이 타입이 특정 타입 임을 단언합니다"라고 말하는 것과 같습니다.

다른 언어의 타입 캐스트(Cast)와 비슷하지만, 특별한 검사나 데이터 재구성을 수행하지 않습니다. 런타임 시, 영향을 미치지 않으며 오직 컴파일 과정에서만 사용됩니다. 타입 어설션을 처리하는 방법은 2가지 입니다.

1번째 방법은 앵글 브라켓(angle-bracket, <>) 문법을 사용하는 것입니다.

let assertion:any = "타입 어설션은 '타입을 단언'합니다.";

// 방법 1: assertion 변수의 타입을 string으로 단언 처리
let assertion_count:number = (<string>assertion).length;

2번째 방법은 as 문법을 사용하는 것입니다.

let assertion:any = "타입 어설션은 '타입을 단언'합니다.";

// 방법 2: assertion 변수의 타입을 string으로 단언 처리
let assertion_count:number = (assertion as string).length;

두 방법 모두 결과는 동일합니다. 하지만 JSX와 함께 사용하는 경우에는 as 문법만 허용됩니다.

실습

참고

Handbook - Basic Typestypescriptlang
TypeScript - 타입 어설션
Event() - Web APIs | MDN
Event 생성자
Creating and triggering events - Event reference | MDN
커스텀 이벤트 생성 / 실행
Logo
Logo
Logo