코어자바스크립트 3

[TIL] 2022/7/5 Macbook Pro와 아이들..

요번주는 회사에서 노트북을 받았다. 원래 M2 나오면 그걸로 장만해준다고 했지만, 개인 노트북으로 쓰는건 무리도 있고 개인과 업무는 별개로 쓰고 싶었는데 이사님이 쓴지 얼마 안된 16인치 맥북프로 m1 max 주시곤 좋은거 줬으니 잘하겠지 하며 농담을 하신게 참 재밌었다 하하하하하; 다행히 일 있지않는 이상은 출근은 일주 한번만 하게 됐는데 회사에서 쓸 마우스랑 키보드가 없어서 요번에 장만해서 가져갔는데 집에올때 맥북프로까지 가져가면 너무 무거울꺼같아서 맥북프로는 다음 출근때 가져가기로했다. 나름 가볍고 블루투스로 선없이도 쓸수있는 애들을 알아보니 로지텍 mx master 3s 맥북용으로 많이들 쓰고 좋다고해서 사고 키보드는 한성 무접점키보드 gk888b, 82키로 샀는데 휴대성도 좋고, 보글보글 사운드..

TIL 2022.07.05

[Javascript] this, 전역변수, 전역객체 feat . configurable, defineProperty()

this this는 실행 컨텍스트가 생성될때 함께 결정된다. 즉 this는 함수를 호출할 때 결정된다. 상황마다 this값이 달라진다. 전역공간에서 this는 전역 객체이고 브라우저환경에서 전역객체는 window, node.js 환경에서는 global 이다. 브라우저환경 console.log(this); console.log(window); console.log(this===window); //true Node.js환경 console.log(this); console.log(global); console.log(this===global); //true 전역변수를 선언하면 자바스크립트 엔진은 이를 전역객체의 프로퍼티로도 할당한다. var a = 1; console.log(a); // 1 console.lo..

[Javascript] 호이스팅(Hoisting ), 실행컨텍스트(execution context)

실행컨텍스트 실행컨텍스트(execution context)에는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체인데 어떤 실행 컨텍스트가 활성화되는 시점에서 선언된 변수를 위로 끌어올리고(호이스팅), 외부 환경 정보를 구성하고, this 값을 설정하는 등의 동작을 수행하는데 이로인해 다른언어에서는 발견할수없는 특이한 현상들이 발생한다. 이때 실행컨텍스트의 실행할 코드들을 실행할 때 필요한 환경 정보들을 모아 컨텍스트를 구성하고, 이를 콜 스택, call stack에 쌓아 올렸다가, 가장 위에 쌓여있는 컨텍스트와 관련 있는 코드들을 실행하는 식으로 전체 코드의 환경과 순서를 보장한다. 실행 컨테스트의 콜 스택 실행 순서 예시 코드 //-----(1) var a = 1; function outer(){ fu..