2024.03.04 TIL - JS약점과 TS의 등장!

김민석·2024년 3월 4일
0

TIL

목록 보기
44/78

Javascript의 약점

실행시간에 결정되는 변수의 타입

  • JavaScript는 변수의 타입이 실행 시간에 결정된다
  • 이에 따라 개발자의 실수로 인한 오류가 발생하기 쉽고 찾기도 까다롭다
  • 예를 들면, 변수에 잘못된 타입의 값이 할당되어 발생한 오류를 찾기 위해서는 실행 시간에 변수의 값과 타입을 모두 확인해야 하는 번거로움이 있다!

약한 타입 체크

  • JavaScript는 let, const와 같이 변수/상수를 구분하는 정도의 키워드만 지원이 됨.
  • 예를들면 let a = "hi"; a = 3;가 얼마든지 가능하고 이렇게 되면 약간의 실수로 예상하지 않은 동작이 발생할 수도 있따!!

너무나도 물렁물렁한 객체

const obj = { latitude: 11.5, longitude: 47.1 };
const result = obj.latitude * obj.longitute; // 보통은 이런 실수는 컴파일러가 잡아줘야 되는데
console.log(result) // NaN이라는 엉뚱한 값 출현!

Typescript가 들어온 이후

  • 실행시간에 결정되는 변수 타입 -> 이제는 컴파일 시간에 변수 타입 체크
  • 약한 타입 체크 -> VsCode에 코드를 입력하는 순간 에러메세지
  • 너무나도 물렁한 객체 -> VsCode에 코드를 입력하는 순간 에러메세지
profile
화이팅 화이팅

0개의 댓글