Skip to content

FAQ

상위 수준 변수가 제거됨

소스 유형이 module인 경우 상위 수준 변수는 제거됩니다. 이는 모듈 코드 내의 상위 수준 변수는 다른 모듈에서 접근할 수 없기 때문입니다. 반대로 스크립트 코드 내의 상위 수준 변수는 전역 변수로 취급되며 다른 스크립트에서 접근 가능합니다. 상위 수준 변수를 유지하고자 한다면 .mjs 파일 이름을 사용하지 않거나 module 옵션을 활성화하지 않아야 합니다.

문자열 내 개행은 제거되지 않음

문자열 내 개행이 최소화된 코드에서 \n으로 대체되지 않는 것은 놀라운 일이지만, 이 동작은 문자 리터럴 \n이 2바이트 길이인 반면 개행 문자는 1바이트 길이이기 때문입니다.

js
// 이 코드는 16바이트입니다
const foo="a\nb"

// 이 코드는 15바이트입니다
const foo=`a
b`