티스토리 뷰
Goal
- any 타입이란?
- any 타입 선언을 지양해야 하는 이유
- any 타입을 사용해야 하는 상황과 에러 검출
1. any 타입이란?
타입스크립트에서 any는 어원 그대로 any를 타입으로 선언한 곳에는 어떤 타입이든 올 수 있다는 것을 의미한다.
let a: any = 'string' // any타입에 string 할당 가능
let b: any = ['array'] // any타입에 Array 할당 가능
let c: any = a + b // string과 Array를 더하고 있지만 에러가 발생하지 않음.
타입스크립트에서 컴파일 할때 모든 변수에는 타입이 있어야 한다. 이때 타입을 지정해주지 않거나 값이 명확하지 않은 상황에서는 any를 기본타입으로 가정한다.
2. any 타입 선언을 지양해야 하는 이유.
any를 선언하면 어떤 타입이든 넣을 수 있기 때문에 간편해 보이지만 필수적인 상황이 아니라면 사용하지 않는 것이 좋다.
왜 그럴까? 타입스크립트의 존재 이유를 알면 간단하다. 타입스크립트는 타입을 명시하여 프로그램이 유효하지 않은 작업을 수행하지 않도록 방지한다.
any를 선언하면 javascript처럼 코드가 어떤 연산을 할지, Number 타입이 Array관련 함수를 호출하는지 예측할 수 없게되고 프로그램의 안정성을 떨어뜨리게 된다.
3. any 타입을 사용해야 하는 상황과 에러 검출
any의 사용을 지양해야하지만, 어떤 타입의 값이 들어올 줄 모르고, 타입을 선언하기 어려운 케이스라면 그때는 any와 같이 모든 타입의 값을 받을 수 있는 unknown타입을 지정해 주는 것이 좋은 코딩 방법이다.
'토막지식시리즈 > javascript 토막지식' 카테고리의 다른 글
Typescript는 어떻게 동작할까? (왜 safe할까?) (0) | 2021.10.15 |
---|---|
Typescript 타입 종류 알아보기! (unknown) (0) | 2021.07.10 |
[Typescript] Non-null assertion operator (Non-null 단언 연산자) (0) | 2021.06.28 |
vs code에서 typescript run하기 (0) | 2021.01.10 |
JavaScript는 인터프리트언어? 컴파일언어? (0) | 2020.12.15 |
댓글
최근에 올라온 글
최근에 달린 댓글
TAG
- 20200406
- 20200428
- 20200429
- chapter8
- 생활코딩리눅스
- 20200319
- 20200424
- 20200403
- 20200624
- likelion
- 20200425
- 20200423
- 20200317
- 20200510
- 20200330
- 20200420
- 20200427
- 20201204
- 20200622
- 20200502
- 20200413
- 20200512
- 20200415
- 20200504
- 20200503
- 20200417
- 백준
- 20200804
- chapter7
- 20200421
- Total
- Today
- Yesterday