개발자

props 타입을 string으로 지정했는데 object를 넘겨줘도 오류가 안나는 이유가 궁금합니다

2023년 06월 16일조회 136

아래 코드에서 props가 object인데 왜 에러가 안날까요..? (1번라인 :string입니다)

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

이재찬님의 프로필 사진

타입스크립트를 잘못 이해하고 계신 것 같습니다. 타입스크립트는 자바스크립트에서 변수의 데이터 타입을 지정하여 해당 타입을 “예측” 가능한 코드로 만들어주는 언어입니다. 자바스크립트를 실제로 런타임에서 구동시키기 전에 발생할 수 있는 타입 에러를 사전에 잡아주는 것이 그 목적임을 명확히 이해하셔야 합니다. 해당 작업을 통해 IDE 혹은 다른 개발자가 코드를 보았을 때 타입을 예측하고, 그를 기반으로 Lint 등을 통해 에러를 보여줄 수는 있지만, 실제 데이터의 타입을 컨트롤하지는 않습니다. TS는 JS의 생산성을 높이기 위해서 “보여주는 작업”을 하는 것이지, 실제 짜여진 코드들은 모두 JS로 실행이 되야합니다. 실제로 구동이 되는 방식 또한 TS 파일을 직접 실행하는게 아니라, JS 파일로 컴파일을 진행한 이후에 자바스크립트 엔진을 통해 구동되게 됩니다. 쉽게 설명드리자면 애초에 TS 파일은 직접적으로 돌아가는게 아닙니다. 질문주신 작업과 같은 기능을 하려면, JS 코드에서 typeof 와 같은 메소드를 이용하여 props의 type을 체크하고, type이 string이 아닐 시 에러를 띄우는 방식으로 별도의 구현을 해주셔야합니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!