스코프 Scope로서 "유효 범위"를 뜻하며, 프로그래밍에서는 대단히 중요한 개념. 이것이 등장하게 된 개념은 절차형 프로그래밍으로 프로그램의 덩치가 커지고, 외부 모듈을 가져다 쓰기 시작하면서부터 다양한 문제들이 발생을 하게 됩니다.
이는 바로 같은 스코프 내에서의 이름이 같은 변수나 함수들이 생겨나면서부터입니다. 그래서 C++에서는 namespace 등을 도입하기에 이릅니다.
저는 namespace를 적극적으로 쓰는 편인데, 대부분의 오래된 프로그래머들은 그냥 _를 붙이거나, 이름 앞에 뭔가를 더 붙이는 식으로 작업을 많이 하시더라구요. 그럴거면 그냥 namespace를 좀...
아무튼 js에서는 중복 선언이 가능하기 때문에, 늦게 선언한 변수가 기존 변수의 값을 덮어씌울 수 있게 됩니다. 슬프게도(?)
js에서는 이에 대해 일언반구 없기 때문에 네이밍은 확실히 주의해야할 필요가 있습니다. 다만 let, const로 선언할 경우에는 같은 스코프 내에서는 중복 선언을 허용하지 않기...