스코프
스코프는 자바스크립트를 포함한 모든 프로그래밍 언어의 기본적이며 중요한 개념이다.
함수의 매개변수는 함수 몸체 내부에서만 참조할 수 있고 함수 몸체 외부에서는 참조가 불가능하다
function add(x, y){
// 매개변수는 함수 몸체 내부에서만 참조할 수 있다.
// 즉, 매개변수의 스코프(유효범위)는 함수 몸체 내부다.
console.log(x, y) // 2 5
return x + y;
};
add(2., 5);
// 매개변수는 함수 몸체 내부에서만 참조할 수 있다.
console.log(x, y) //ReferenceError: x is not defined
변수는 코드의 가장 바깥 영역뿐 아니라 코드 블록이나 함수 몸체 내에서도 선언 가능. 이때 코드 블록이나 함수는 중첩이될 수있다.
var var1 = 1; //전역변수
if(true){
var var2 = 2;
if(true){
var var3 = 3;
};
};
function foo(){
var var4 = 4;
function bar(){
var var5 = 5;
};
};
console.log(var1);
console.log(var2);
console.log(var3);
//함수 내부에서 선언된 변수는 함수내부에서만 참조가 가능하다.
console.log(var4); //ReferenceError
console.log(var5); // ReferenceError
함수 내부에서 선언된 변수는 함수내부에서만 참조가 가능하다.
var x = "global";
function foo2(){
var x = "local";
console.log(x);
};
foo2(); //local
console.log(x); //global
'WEB > JS' 카테고리의 다른 글
[JS] 프로퍼티 어트리뷰트 (0) | 2023.11.27 |
---|---|
[JS] let, const키워드와 블록 레벨 스코프 (1) | 2023.11.27 |
[JS] recursive // callback (2) | 2023.11.25 |
[JS] 함수 (1) | 2023.11.25 |
[JS] Object & method (1) | 2023.11.20 |