전역 범위 기본 선언을 가로 채기위한 코드를 작성하거나 각 프로그램이나 함수가 액세스 할 수있는 자바 스크립트 엔진 자체의 설정을 통해이 작업을 수행 할 수 있습니까?javascript에서 선언되지 않은 변수를 전역 범위 대신 현재 로컬 범위 (처음 사용시 기준)로 선언 하시겠습니까?
만약 내가 프로그램 (또는 기능)의 상단에 전역 변수 대신 선언되지 않은 변수에 대한 로컬 범위를 사용하도록 자바 스크립트 엔진에 알려준다면 ... 자바 스크립트 엔진이 각 함수를 컴파일 할 때 지역 범위에서 선언 할 것입니다.
변수를 현재 범위 밖에서 선언하려는 경우 아무도 선언하지 않으므로 명시 적으로 수행해야한다는 것을 이해합니다. 그러나 전역 범위를 기본값으로 설정하면 오류와 강제로 너무 많은 공간이 남습니다. 각 함수에서 var 문을 많이 입력하므로 가능한 경우 내 프로그램의 기본값을 변경하고 싶습니다.
내 기본 목적은 모든 함수의 맨 위에있는 var 문에 로컬 변수의 목록을 입력하지 않고이 목록을 로컬 변수와 동기화하여 유지하는 것을 피하기위한 것입니다. 함수 내에서. 전역 범위 기본값을 허용하지 않으면 오류 위험이 줄어 듭니다.
필자는 선언되지 않은 변수가 처음 사용 된 범위보다 높은 범위에서 끝나기를 원치 않습니다. 내가 볼 수있는 전역 범위를 기본값으로 갖는 데 가치가 없습니다.
나는 현재의 범위 (또는 전역 범위)에서 변수를 선언 할 수 있지만 그렇게하지 않으려 고하고 자바 스크립트에 내장 된 전역 범위 기본값보다 유용한 기본값을 사용하고 싶습니다.
또한 "엄격한 사용"을 사용하여 모든 변수를 명시 적으로 선언 할 수 있음을 알고 있습니다. 옳고 그른지에 대해 논쟁하고 싶지는 않지만, 주어진 기능에 대한 전역 범위 대신 기본 범위를 로컬 범위로 변경하는 방법이 있는지 묻는 것.
나는 이러한 옵션을 알고 있지 않습니다. 그러나 당신은 가능성을 제한하기 위해 '엄격하게'사용할 수 있습니다. – Sebas
이 경로를 찾고있는 근본적인 문제는 무엇입니까? – charlietfl
[CoffeeScript] (http://coffeescript.org)를 사용하여이 특별한 성가심을 해결하고 Javascript 구문을 더 맛있게 전반적인 IMO로 만듭니다. – deceze