JS) 스코프 체인

Cecilia·2022년 12월 28일
0

JavaScript

목록 보기
27/36
post-thumbnail

스코프
https://developer.mozilla.org/ko/docs/Glossary/Scope

https://developer.mozilla.org/ko/docs/Learn/JavaScript/Building_blocks/Functions#%ED%95%A8%EC%88%98_%EC%8A%A4%EC%BD%94%ED%94%84%EC%99%80_%EC%B6%A9%EB%8F%8Cconflicts




🔍 스코프 체인

❗ 스코프란? 이전에 정리해 둔 포스트 'JS) 함수(Function) 이해하기 3' -> 3번을 참조하면 된다.


스코프 체인은 말 그대로 스코프가 연결되어 있다는 뜻이다.

let animal = 'penguin';

function print(){
    let animal2 = 'cat';

	function innerPrint() {
    	console.log(animal);
    	console.log(animal2);
	}

innerPrint();

}

print();

// console.log(animal); => penguin
// console.log(animal2); => cat


animalanimal2innerPrint() 내에 선언되지 않았다.

그럼에도 외부 렉시컬 환경 참조를 통하여
연결되어있는 print() 함수에서 animal2 = 'cat'을 찾고,
전역 변수 animal에서 'penguin'을 찾았다.

이렇게 위의 예시 코드에서 스코프 체인을 확인할 수 있었다.






📌정리하면서 이해에 도움이 되었던 블로그

https://velog.io/@bico/JavaScript-%EB%A0%89%EC%8B%9C%EC%BB%AC-%EC%8A%A4%EC%BD%94%ED%94%84lexical-scope

https://velog.io/@oneook/%EC%8A%A4%EC%BD%94%ED%94%84%EC%99%80-%EC%8A%A4%EC%BD%94%ED%94%84-%EC%B2%B4%EC%9D%B8-JavaScript-Basics#1-1-%EC%A0%84%EC%97%AD-%EB%B3%80%EC%88%98-global-variables%EC%99%80-%EC%A7%80%EC%97%AD-%EB%B3%80%EC%88%98-local-variables

https://ljtaek2.tistory.com/140

profile
'이게 최선일까?'라는 고찰을 통해 끝없이 성장하고, 그 과정을 즐기는 프론트엔드 개발자입니다. 사용자의 입장을 생각하며 최선의 편의성을 찾기 위해 노력합니다.

0개의 댓글