Javascript

Javascript - scope

Starters 2020. 9. 5. 23:25

scope란?

- 변수 또는 함수 선언 시, 어디서 어디까지가 유효한지의 범위를 의미함

- 세가지 종류가 있음(global, function, block) * block은 if문 for문 등 { } 로 감싸진 부분에서 동작

 

const value = 'hello!';

function myFunction() {
	console.log('myFunction: ');
    console.log(value); => hello!
}

function otherFunction(){
	console.log('otherFunction: ');
    const value = 'bye!';
    console.log(value); => bye!
}

myFunction();
otherFunction();

console.log('global scope: ');
console.log('value'); => hello!

======================================================================

const value = 'hello!';

function myFunction() {
	const value = 'bye!';
    const anotherValue = 'world';
    function functionInside(){
    	console.log('functionInside: ');
        console.log(value); => bye
        console.log(anotherValue); => world
    }
    functionInside();
}

myFunction();
console.log('global scope: ');
console.log(value); => hello
console.log(anotherValue); => 에러

 

 

const 또는 let 를 쓰지않고 var 로 변수를 선언하게되면

block scope로 선언하여도 function내부에서 값이 전부 바뀐다.