Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags more
Archives
Today
Total
관리 메뉴

난 정말 최고야 멋있어

ydkjsy-scope-closures Chapter 3 본문

카테고리 없음

ydkjsy-scope-closures Chapter 3

n00bh4cker 2020. 11. 18. 23:47

 

"Lookup" IS (Mostly) Conceptual

 

Shadowing

섀도잉이란 그것.. 다른 스코프에 같은 이름의 변수

 

같은 이름을 사용하기 위해서는 다른 스코프를 사용해야한다

var studentName = "Suzy";
function printStudent(studentName) {
studentName = studentName.toUpperCase();
console.log(studentName);
}

요 위의 코드에서 함수 내부의 studentName과 스코프 바깥의 studentName은 서로 섀도잉이 돼서 다른 객체를 가리킴!!!

따라서 함수내부에서의 studentName의 조작은 함수 외부에 영향을 미치지 않음

 

섀도잉됬을때도 전역객체에 접근하기 위해 window의 객체로 전역변수에 접근할 수 있다(웹에선 노드는 안댐 ㅋㅋ && var 선언된 객체)

음 객쳉의 요소로 집어넣는건 복사임 ㅇㅇ  그걸로 직접 접근 못함 ㅅㄱㄹ

글 고 let 은 outscope의 var shadowing 가눙

var 은 outscope의 let 만 섀도잉 가능!!!

 

Function Name Scope

var askQuestion = function ofTheTeacher() { console.log(ofTheTeacher); };

여기선 ofTheTeacher가는 ㅡ냥 함수 자신의 스코프를 가진다!!!!!

+ strict 모드라면 ro 로 선언ㅇ됨 : 수정 불가능 수고링~~~

 

ArrowFunctions

es6이후 ㅋㅋ

this 없음 이놈은ㅋㅋ 근데 이게 핵심인데 책에 안나오네 ㅋㅋ

파라미터 ㅇ한개던가하면 파라미터 생략할수있고 단순리턴만하는경우엔 중괄호 생략간웅 ㅋㅋ

요것도 짜신만의 함수스코프를 만든다는건 똑같혀 ㅋㅋㅋ

 

Backing Out

응 스코프체인이있고

동일이름이잇으면 섀도잉이야

계속 나가면 글로-발 스코프야!! 이건 담챕터에서 보자구 >,<