programming/programing terms
type-safe란
worldint
2023. 4. 23. 21:04
type-safe하다는 것은 타입이 안정적이라는것 :
타입이 안정적 이라는 것은 런타임시에 타입으로 인한 에러가 나지 않는다는것
런타임시에 에러가 나지 않는 이유는
컴파일 타임에서 에러를 띄워줘서 개발자가 수정하게 만든다
type-safety하지 않다는것 :
런타입시에 타입으로 인한 에러가 날 수 있다는것
컴파일 타임에서 타입이 맞지 않아도 에러를 안띄우고 그냥 넘어가서 런타임시에 에러가 나는것
그래서 자바스크립트는 type-safe하지 않다.
이유는 문자열 + 숫자 도 알아서 연산이 이루어짐
console.log('hihi'+1234);
//이런 연산도 알아서 형변환이 되면서 연산이 이루어진다
이러한 것도 type-safety하지 않다고 하고
아래와 같이 어떠한 연산(함수)가 어떤 타입을 리턴해줄지 모르는 상황도
type-safety하지 않다고 한다
아래처럼 케이지에는 사자가 들어있는데
코드가 길어지거나 복잡해지면
케이지에 어떤 값이 들어있는지 알 수 없다
const jerry = new Lion();
const cage = new Cage();
cage.put(jerry);
const duck = cage.get();
//개발자는 오리 타입이 나오길 원하는데 사자가 들어있음
//cage.get()이 어떤 값을 리턴해줄지 알 수 없음