본문 바로가기

JavaScript/TypeScript3

[TypeScript] 타입스크립트란 무엇인가? 타입스크립트 동작 원리에 대하여 TypeScript 란 무엇인가? 1. Javascript의 한계 모든 언어에는 타입 시스템이 존재하며, 크게 정적 타입 시스템과 동적 타입 시스템으로 나뉘어 진다. 각각의 특징은 다음과 같다. 1) 동적 타입 시스템 = JavaScript, Python - 타입을 미리 검사하지 않는다. - 개발자의 의도치 않은 타입 실수로 인해 치명적인 오류가 발생할 가능성이 높다. -> 타입을 미리 검사하지 않기 때문에 타입 오류 시에도 실행이 바로 중단되지 않는다. 때문에 개발자의 타입 실수 시 런타임 중 하루뒤, 한달 뒤 등 예기치 못할 때 갑작스럽게 에러가 발생하는 등 잘 돌아가던 프로그래밍이 갑자기 실행이 안된다던지 치명적인 오류가 발생할 수 있고 디버깅이 힘들다. 2) 정적 타입 시스템 = C, Java -.. 2024. 3. 8.
[TypeScript] props으로 받은 함수의 타입 지정하기 ✨props으로 받은 함수의 타입 지정하기 타입스크립트를 아무것도 모른 상태로 처음 사용하면서, 타입을 지정하는데에 어려움이 있었다. 예를들어 다음과 같이 일반적으로 타입을 명확하게 지정하기 쉬운 string, number, boolean 등은 타입을 지정할 때 크게 고민이 필요하지 않았지만, interface ICheckBoxProps { label?: string; placeholder: string; type?: 'email' | 'password' | 'text' | 'number'; autoComplete?: string; setValue: React.Dispatch; required?: boolean; maxLength?: number; inputRegexCheck?: ? } props으로 함.. 2022. 12. 1.
[TypeScript] React.KeyboardEventHandler<HTMLInputElement> 에서 event.target.value 에러 ❗타입스크립트 React.KeyboardEventHandler 에서 event.target.vale 사용시 에러 이슈 1. 타입스크립트를 처음 사용하면서, onKeyup 이벤트를 전달 시 발생한 에러 이슈이다. 이렇게 Input에서 onKeyUp 이벤트를 발생시켜 이벤트를 전달하면 2. 타입스크립트에서 타입을 명시해 주어야 한다. 마우스 hover 시 참고되어있는 이벤트 타입인 React.KeyboardEventHandler으로 지정해 주었더니 event.target.value에서 에러가 발생했다. 이유는 타입스크립트에서 KeyboardEvent에 target 속성은 정의 되어있지 않기 때문인 것 같다. index.d.ts에서 확인해 보면 target속성이 정의되어있지 않다. interface Keybo.. 2022. 12. 1.