Closed hyeyoonS closed 3 months ago
any 타입을 지양해야 하는 다양한 의견을 알려주세요!
any타입은 자바스크립트에 존재하는 모든 값을 오류 없이 받을 수 있습니다. ⇒ 타입 설계를 감춰버리는 타입으로 해당 객체의 속성이 무엇으로 이뤄져 있는지 알 수 없습니다.
객체의 속성
타입을 명시하지 않은 것과 동일한 효과 = 자바스크립트의 동적 타이핑 시스템을 따르는 것이므로 타입스크립트를 사용하는 의미가 없어집니다.
타입스크립트를 사용하는 의미
컴파일 타임에 오류를 잡아내지 못하기 때문에 타입에 대한 신뢰도가 떨어집니다.
타입스크립트 언어 서비스는 자동완성 기능을 제공하지만 any 타입은 이를 무력화시킵니다
let word:any= { first: '붕어빵', second: '은', third: '슈붕만'}; // word 변수에 any를 할당하면 자동완성이 보이지 않습니다.
무엇이 할당될 지 아직 모르는 상태라면, any보다 unknown의 사용을 권장합니다.
unknown
사실 "any 타입은 TypeScript를 사용하는 의미가 없게 만든다"라고 한 줄로 요약할 수 있을 것 같습니다.
let word= { first: '타입스크립트', second: '는', third: '영원하다!!'}; word.first;
❓문제
any 타입을 지양해야 하는 다양한 의견을 알려주세요!
🎯답변
any타입은 자바스크립트에 존재하는 모든 값을 오류 없이 받을 수 있습니다. ⇒ 타입 설계를 감춰버리는 타입으로 해당
객체의 속성
이 무엇으로 이뤄져 있는지 알 수 없습니다.타입을 명시하지 않은 것과 동일한 효과 = 자바스크립트의 동적 타이핑 시스템을 따르는 것이므로
타입스크립트를 사용하는 의미
가 없어집니다.컴파일 타임에 오류를 잡아내지 못하기 때문에 타입에 대한 신뢰도가 떨어집니다.
타입스크립트 언어 서비스는 자동완성 기능을 제공하지만 any 타입은 이를 무력화시킵니다
무엇이 할당될 지 아직 모르는 상태라면, any보다
unknown
의 사용을 권장합니다.