2021. 12. 23. 15:51ㆍ개발
자유도가 높다 = 에러메세지 안남 = 문제생겨도 어디서 생긴지 모름
자유도가 낮다 = 정해진 형식을 사용한다. = 형식에서 벗어나면 에러가난다.= 에러메세지가 나올때 더 정확하게 지적해준다.
타입스크립트 = 타입의 엄격성을 높힌 자바스크립트
여기서 타입이란
문자열,숫자,object,class,function,등등
언어라고생각 하기 보단. 일종의 툴이라고 생각하는게 맞다.
any 타입과 unknown 타입의 차이점
any 는 자바스크립트를 안쓰는 거랑 똑같음 타입제한의 해제 를 뜻함
unknown은 타입제한의해제는 아님 unknown이라는 타입을 사용하는것
타입스크립트는 변수의 선언 부분에서 타입을 지정하여서 타입을 지정한다.
(대부분은 할당 과정에서 자동으로 지정됨)
이렇게 지정된 타입은
let 변수A :string = '타입지정'
변수A = 123
다른 타입의 할당을 막아준다.
let 침입자 :any = 123 이라면
변수A = 침입자
가능해진다.
즉 any 는 다른 변수의 타입쉴드를 깨는 강력한 침입자가 될수있다. 심지어 에러도 안난다 !!
TS 에서는 any 보다 unknown을 쓰도록하자
unknown 은 다른 변수의 타입 쉴드를 깰수 없다. 왜냐하면 unknow이라는 타입이 지정되어있기 때문이다.
union의 특이성
유니온은 다수의 타입이 합쳐진 하나의 타입이다.
number | string 을 가지는 유니온 타입 A = 123 이라고 하자
let A :number | string = 123;
let B : number ;
숫자 타입이 들어가는 자리에 유니온 타입은 들어갈수 없다.
라고 하는데 왜 내 실행환경에서는 되는거야 ... ?
(단 유니온 타입에 숫자가 할당되면 가능하다)
undefined + 1 = NaN
선언만 해놓고 할당 안하면 = undefined
'개발' 카테고리의 다른 글
Angel Hack in coupang 해커톤 프로젝트 그리고 그 이후 (0) | 2024.08.25 |
---|---|
프로젝트 빌드 TypeScript by npm (0) | 2021.12.31 |
[JS] key event 정리 (0) | 2021.12.22 |
호이스팅 , 실행 컨텍스트 (0) | 2021.12.22 |
var vs let vs const (0) | 2021.12.08 |