[TS] 타입 가드
2022. 7. 25. 03:28
개발이야기/TS
위 코드에 적혀있는 컨테이너의 타입을 작성해보자. getElementById에 마우스 커서를 올려놓으면 이렇게 메세지가 뜨는걸 볼 수 있다. document.getElementById는 인자로 elementId를 받는데 : string으로 되어있다. 이건 elementId의 타입은 string이야 라고 알려주는 것이다. 다음 괄호가 닫혀있고, 콜론이 또 나오는데 이렇게 함수 인자 바로 뒤에 콜론은 이 함수의 반환값 타입이다. 이 반환값 타입은 HTMLElement 또는 null 로 둘 중에 하나가 반환될 수 있다는 의미로 이런 것을 유니온 타입이라한다. 그럼 이 반환값을 바로 container 뒤에 적용시켜 보았다. 그런데... 조금 이상하다. 위에서 분명 conatainer의 타입값을 적용시켰는데 co..
[TS] 타입 추론
2022. 7. 25. 02:53
개발이야기/TS
자바스크립트 파일을 타입스크립트로 바꾸니 수많은 빨간 밑 줄...😩 더 살펴보면 밑줄이 되어있지 않은 변수를 만드는 코드도 많은데, 그중에서 반복문이 있다. makeFeeds에 for문을 보면 let i=0; 하고 변수 i 를 만들었다. 타입스크립트라면 아래처럼 타입을 지정해줘야한다. (i는 number 타입이니까 number를 지정해주었다.) 하지만 내가 타입지정을 안했는데도 에러마크가 표시가 안된다. 이런것들을 바로 타입 추론이라 하는데 타입 추론이란? 타입스크립트가 코드상의 상황을 인지하고 " 이 i 라는 변수의 타입은 숫자를 넣고 있으니, 당연히 넘버 타입이겠지?" 하고 타입을 추론해 주는 것이다. 이런 상황에서는 타입스크립트는 우리 눈에는 보이지않지만 내부적으로 타이핑을 해준다. 그 증거로는? ..
[TS] 타입스크립트
2022. 7. 20. 14:21
개발이야기/TS
예전 블로깅에서 타입스크립트를 왜 사용하는지에 대해서 간단하게 글을 적어본적이있다. 타입스크립트를 공부하며 든 생각들을 더 딥하게 정리해보았다. 타입스크립트를 왜 사용할까? 타입 스크립트는 자바스크립트에서 제공하는 기능들을 기본으로 제공하며 플러스로 추가적인 기능들도 제공한다. 자바스크립트가 안 좋다고 욕해도 어차피 자바스크립트는 없애지 못한다. 왜냐하면 웹에서 실행되는 거의 유일한 언어이기 때문이다. 그래서 타입 스크립트는 자바스크립트와 공생하는 전략을 취했는데... 그럼 타입 스크립트는 어떤 부분을 제공할까? 타입 스크립트라는 이름에서 모든 것을 다 표현하고 있다. 자바스크립트에서의 스크립트와 동일하고, 타입은 유형이라는 뜻으로 해석할 수 있다. 즉 자바스크립트가 제공하지 못하는 것, 앞으로도 제공하..