타입스크립트에서 객체를 "더 안전하게" 순회하는 방법 (feat: 무공변성)
타입스크립트는 구조적 타입 시스템을 따르기 때문에 타입이 '열려' 있다. 타입스크립트에서 '봉인된' 또는 '정확한' 타입을 만드는 방법에는 명목적 타입과 무공변적 타입이 있다. 명목적 타입 시스템은 구조가 같더라도 이름이 다르면 다른 타입으로 구분하는 시스템이다. 무공변적 타입은 정확히 동일한, 타입을 요구하는 타입 호환 방식이다. 명목적 타입과 무공변적 타입을 통해 객체를 보다 안전하게 순회하면서, 구체적인 타입을 얻을 수 있다.
https://younho9.dev/how-to-iterate-object-more-safely