이것은 호기심에 불과합니다. 그러나 그것은 내가 알고 싶습니다.자바 스크립트 함수 수준 범위
나는 let
키워드로 Javascript 1.7 지원 블록 범위 지정을 알고 있습니다.
하지만 왜 block scope
대신 function-level
범위로 Javascript가 시작 되었습니까?
이것은 호기심에 불과합니다. 그러나 그것은 내가 알고 싶습니다.자바 스크립트 함수 수준 범위
나는 let
키워드로 Javascript 1.7 지원 블록 범위 지정을 알고 있습니다.
하지만 왜 block scope
대신 function-level
범위로 Javascript가 시작 되었습니까?
언어의 가장 초기 반복에는 var
키워드가 없지만 할당시 암시 적으로 생성되는 변수에 의존한다고 합리적으로 추측 할 수 있습니다 (그러나 추측에만 해당). 이것은 단순한 스크립팅 언어에서 흔히 볼 수 있습니다. 많은 언어가 성숙 해짐에 따라 명시적인 선언 메커니즘을 개조하고 대규모 프로젝트에 사용되기 시작해야합니다. 이 가정에서, 순서 a
의 암시 적 선언 대신 경고에서 볼 수있는의 중괄호에 의해 갇혀한다면 그것은하지 않을 것 같은
if(bla bla bla) {
a = 24 ;
} else {
a = blop.blop();
}
alert(a);
으로 코드. 따라서 함수 수준 범위.
지금
@ Markholm 나는 추측을 좋아한다. :) – user278064
왜 ... 시간에 의해
var
는, 기능 수준 범위의 가정이 이미 사양과 언어의 구현에서 입지를 굳힌이되었다 추가 된 상상? 원래 설계자와 구현자가 무엇을 생각하고 있었는지 어떻게 알 수 있습니까? – delnan어딘가에서 시작해야했기 때문에? – deceze
@deceze 그래서 어디에서 시작하든 중요하지 않습니다. 중요한 것은 당신이 시작한다는 것입니다! – user278064