느슨한 타입(Loosely type)의 동적(dynamic)언어

Calvin Park·2022년 7월 21일
0

1. 느슨한 타입(Loosely type)의 동적(dynamic)언어

<JS의 변수는 어떤 특정한 타입과 연결되지 않으며, 모든 타입으로 할당 및 재할당이 가능하다.>

let foo = 42 // foo가 숫자
foo = 'bar' // foo가 이제 문자열
foo = true // foo가 이제 불리언

참고링크

2. 문제점

JavaScript는 느슨한 타입의 동적 언어이기 때문에 변수 생선시 변수의 타입을 미리 선언하지 않아도 된다는 점.
하지만 많은 기능 명세서와 API가 오고 가는 대형 프로젝트 (협업) 시에서 타입이 올바른지 체크하는 것이 굉장히 까다롭기 때문에 배포 시 예상치 못한 문제와 직면할 수 있다.

// 백엔드 개발자가 전달한 명세서 예시
{ 
id: number,
product_name: string, 
price: number
}

// 프런트 개발자가 전달한 데이터 예시
{ 
id: 12345,
product_name: 'water melon', 
price: '12,000'
}

price의 타입이 다르기 때문에 오류 발생

3. 보완 방법

JavaScript의 단점을 보완하여 정적 타입 체크와 강력한 문법을 추가한 TypeScript를 사용하여 보완 가능

출처 링크

profile
Personal Velog Note

0개의 댓글