코드 블록 안에서 선언된 변수는 밖에서 참조하는 것이 불가능하다.
function logVisibleLightWaves(){
const lightWaves = 'Moonlight';
console.log(lightWaves);
}
logVisibleLightWaves();
console.log(`light waves = ${lightWaves}`);
위 경우에 lightWaves라는 변수는 logVisibleLightWaves라는 함수 안에서만 정의되어 있으므로 ReferenceError가 뜬다.
늘 어디서나 접근가능한 전역 변수를 사용하면 좋지 않을까 생각할 수도 있다.
하지만 그렇게 되면 저장공간을 낭비하게 된다.
const satellite = 'The Moon';
const galaxy = 'The Milky Way';
let stars = 'North Star';
const callMyNightSky = () => {
stars = 'Sirius';
return 'Night Sky: ' + satellite + ', ' + stars + ', ' + galaxy;
};
console.log(callMyNightSky());
console.log(stars); //Sirius
이런식으로 코드 블록 안에서 전역 변수를 덮어쓰기 하는 것도 좋지 않음.
언제 값이 바뀌었는지 알아차리기 힘들고 코드 유지보수에도 방해가 됨.
💡 코드를 잘 스코핑하는 것의 장점
- 블럭으로 코드를 정리해서 코드가 더 알기 쉬워짐
- 어느 변수가 프로그램의 어떤 부분과 관련 있는지 명확해져서 코드 이해가 쉬움
- 유지보수가 쉬움
- 메모리를 아낄 수 있다 (블럭이 실행된 후에 사라지기 때문)
코드카데미 Javascript - 고차함수와 콜백함수 (0) | 2020.09.24 |
---|---|
코드카데미 Javascript - 배열 메서드 (push, pop, shift, slice, indexOf) (0) | 2020.09.23 |
코드카데미 Javascript - Function (헬퍼 함수, 함수 표현, 화살표 함수) (0) | 2020.09.18 |
코드카데미 Javascript - False로 취급하는 값, switch문 (0) | 2020.09.17 |
코드카데미 Javascript 강의 수강 계획 (0) | 2020.09.14 |
댓글 영역