2025. 1. 22. 20:20ㆍJS
20장 strict mode
암묵적 전역 : 자바스크립트 엔진이 스코프 체인을 통해 검색해서 생성
function A ( ) {
B= 5;
}
A( )
console.log(B); 5 나옴
이러한 것을 피하기 위해 strict mode를 사용함.
strict mode 적용시.
전역, 함수단위로 적용 하는 것은 피해야함.
즉시 실행 함수로 감싼 스크립트 단위로 적용하는 것이 바람직
strict mode를 적용 했을때 에러가 발생
암묵적 전역, 변수/함수/매개변수의 삭제, 매개변수 이름의 중복, with문(eval과 같이 쓰는 곳 있으면 도망가야됨)
+ 일반함수시 this 호출시 undefined 반환
21장 빌트인 객체
원시값과 래퍼객체
문자열, 숫자, 불리언 값에 대해 객체처럼 접근하면 생성되는 임시 객체를 래퍼 객체라고 함.
22장 this
일반함수 전역
obj.this 점표기법 앞에
화살표함수 상위 스코프
.bind()/call()/apply() 바인딩 된 객체
stirct mode 일반함수 undefined
24장 클로저
실행컨텍스트는 종료되었지만 렉시컬환경은 살아남아 있어 참조되는 것.
function outer ( ) {
let x =0 ;
const inner = function ( ) { console.log(x)}
return inner
}
const callInner = outer( );
callInner(); //0 나옴
스택에 outer , inner 쌓이고, inner 반환하면서 inner빠지고 } 스코프 닫히면서 outer도 빠져서 끝남.
const callInner = function ( ) { console.log(x)}인 상태로
callInner를 실행하면 inner가 실행컨텍스트는 끝났지만 outer.Env.Ref를 참조해서 0을 반환함.
캡슐화, 은닉에 사용함.
'JS' 카테고리의 다른 글
DeepDive JS - 10일차 // 34-36,39장 (0) | 2025.01.27 |
---|---|
DeepDive JS - 7일차 // 25 - 26장 (0) | 2025.01.23 |
DeepDive JS - 5일차 // 18 - 19장 (0) | 2025.01.21 |
DeepDive JS - 3일차 // 12,13,23장 (1) | 2025.01.17 |
DeepDive JS - 2일차 // 08장 ~11장 (1) | 2025.01.16 |