≠ 명시적 선언이나 이름을 기반으로 하는 명목적 타입 시스템(Nominal Type System)과 달리 → 런타임에 타입을 체크하는 동적 타이핑인 덕 타이핑과 달리 정적 타이핑과 관련 되어있다.자바스크립트는 함수 표현식 및 객체 리터럴과 같은 익명 객체를 사용하며,
잉여 속성 - 객체 리터럴의 속성 중 변수의 객체 타입에 선언된 속성에 포함되지 않는 속성→ 변수에 객체 리터럴을 할당하는 경우, 할당할 객체 리터럴의 속성(프로퍼티) 중 잉여 속성이 있으면, 컴파일러 및 타입 체커가 에러를 발생시킨다. → 구조적 할당 가능한 검사와
로직을 위한 코드 뭉치(스크립트)를 하나의 단위로 캡슐화를 한 것. 우리는 흔히 파일 단위로 모듈화를하고있다.cjs - require()esm - import, export방식으로 다른 코드에서도 캡슐화된 모듈(코드뭉치)을 사용할 수 있게끔한다.(module => na