예를 들어, 하나의 프로젝트에서 A 개발자가 모든 숫자의 합을 저장하기 위해 sum이라는 변수명을 사용했습니다. 그런데 B 개발자가 이 사실을 모르고 sum이라는 변수를 다시 선언하고 재할당합니다. 그러면 A 개발자 입장에서는 자신이 사용하던 변수명 sum이 의도치 않게 다른 용도로 변경됐지만, 자바스크립트 문법에서는 오류가 아니므로 아무런 경고도 발생하지 않습니다. A 개발자로서는 생각만 해도 끔찍하겠죠?
let 키워드는 변수명을 중복 선언하지 못하게 해서 다음과 같은 코드가 정상적으로 실행되지 않습니다.
let num = 10 + 20;
let num = 50;
실행결과
Uncaught SyntaxError: Identifier 'num' has already been declared
코드를 실행하면 num 식별자가 이미 선언됐다는 오류 메시지가 발생합니다. 이렇게 키워드 자체에서 중복 선언을 불가능하게 함으로써 다른 사람이 선언한 변수명을 실수로 재선언하는 경우가 없어졌습니다.