변수 선언 시 주의 할 점(스코프)
변수 선언시 주의 할점
-
(1) Window 객체(browser only)
- var로 선언된 전역 변수 및 전역 함수는 window 객체에 속합니다.
//var로 선언된 전역변수
var myName = '김코딩';
console.log(window.myName); // 김코딩
//전역 함수
function foo() {
console.log('bar')
}
console.log(foo === window.foo);// true
-
(2) 전역 변수는 최소화 해야 합니다.
- 전역변수는 어디서든 접근이 가능한 변수 입니다.
- 편리하지만, side effect가 발생할 여지가 있습니다.
- 협업에서 많은 사람이 전역 변수를 만드는 순간혼란을 야기 할 수 있습니다.
-
(3) let const 키워드를 주로 사용해서 변수를 선언해야 합니다.
- var는 블록스코프를 무시하고, 재선언을 해도 에러를 발생시키지 않습니다.
- 전역 변수를 var로 선언하는 것은 브라우저의 내장 기능을 사용하지 못하게 만들 수도 있습니다.
-
(4) 선언 키워드 없이 변수를 할당하지 마세요.
- 선언한 적이 없지만 값을 할당하면, 마치 var로 선언된 전역 변수처럼 작동합니다.
//var선언된것 window객체에 들어가게 됩니다.
function showAge() {
age = 90;
console.log(age);// 90
}
showAge();
console.log(age);// 90
console.log(window.age);//90
-
(5) 실수를 방지하기 위해 Strict Mode를 사용할 수 있습니다.
-
'use strict';
라는 특별한 지시자를 사용해 엄격 모드(strict mode)를 활성화 했을 때, 앞서 언급한 것처럼 "선언 없는 변수 할당"의 경우도 Strict Mode는 에러로 판단합니다.
-
-
-
-
참고 : 코드스테이츠 /mdn
Author And Source
이 문제에 관하여(변수 선언 시 주의 할 점(스코프)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@jelkov/스코프-고급
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
(1) Window 객체(browser only)
- var로 선언된 전역 변수 및 전역 함수는 window 객체에 속합니다.
//var로 선언된 전역변수 var myName = '김코딩'; console.log(window.myName); // 김코딩 //전역 함수 function foo() { console.log('bar') } console.log(foo === window.foo);// true
(2) 전역 변수는 최소화 해야 합니다.
- 전역변수는 어디서든 접근이 가능한 변수 입니다.
- 편리하지만, side effect가 발생할 여지가 있습니다.
- 협업에서 많은 사람이 전역 변수를 만드는 순간혼란을 야기 할 수 있습니다.
(3) let const 키워드를 주로 사용해서 변수를 선언해야 합니다.
- var는 블록스코프를 무시하고, 재선언을 해도 에러를 발생시키지 않습니다.
- 전역 변수를 var로 선언하는 것은 브라우저의 내장 기능을 사용하지 못하게 만들 수도 있습니다.
(4) 선언 키워드 없이 변수를 할당하지 마세요.
- 선언한 적이 없지만 값을 할당하면, 마치 var로 선언된 전역 변수처럼 작동합니다.
//var선언된것 window객체에 들어가게 됩니다.
function showAge() {
age = 90;
console.log(age);// 90
}
showAge();
console.log(age);// 90
console.log(window.age);//90
(5) 실수를 방지하기 위해 Strict Mode를 사용할 수 있습니다.
-
'use strict';
라는 특별한 지시자를 사용해 엄격 모드(strict mode)를 활성화 했을 때, 앞서 언급한 것처럼 "선언 없는 변수 할당"의 경우도 Strict Mode는 에러로 판단합니다.
참고 : 코드스테이츠 /mdn
Author And Source
이 문제에 관하여(변수 선언 시 주의 할 점(스코프)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jelkov/스코프-고급저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)