본문 바로가기

코어자바스크립트4

[Javascript] this this의 값은 함수를 호출한 방법에 의해 결정된다. ThisBinding은 실행컨텍스트가 실행되는 순간에 this를 바인딩한다라는 뜻이다. 따라서 this의 값은 함수를 호출될 때 함께 결정된다. 바인딩: 구성 요소의 실제 값 또는 프로퍼티를 결정짓는 행위 호출하는 방식은 다음과 같이 분류된다. 전역공간에서: window / global 함수 호출시: window / global 메서드 호출시: 메서드 호출 주체(메서드명 앞) callback 호출 시: 기본적으로는 함수내부에서와 동일 생성자 함수 호출시: 인스턴스 *arrow function은 this를 바인딩하지 않는다. 1. 전역 공간에서의 this 전역 공간에서는 전역 컨텍스트를 생성하는 주체가 전역 객체이기 때문에 this는 이 전역 객체를 가.. 2023. 1. 24.
[Javascript] environmentRecord와 호이스팅(Hoisting) >[Javascript] 실행 컨텍스트 [Javascript] 실행 컨텍스트(Execution Context) 실행 컨텍스트(Execution Context)란 함수를 실행할 때 필요한 조건, 환경정보를 담은 객체이다. 콜 스택(call stack)이란 현재 어떤 함수가 동작중인지, 다음에 어떤 함수가 호출될 예정인지 등을 제어 luka-frontend.tistory.com environmentRecord는 현재 문맥의 식별자 정보(이름, 함수선언, 변수명)가 수집된다. 실행 컨텍스트가 최초 실행될 때 가장 먼저 하는 일이다. 이것을 다른 말로 "호이스팅(Hoisting)"이라고 한다. 호이스팅(Hoisting)은 식별자 정보를 실행 컨텍스트의 맨 위로 끌어올린다. 아래 예시 코드를 참고하자. //호이스.. 2023. 1. 17.
[Javascript] 실행 컨텍스트(Execution Context) 실행 컨텍스트(Execution Context)란 함수를 실행할 때 필요한 조건, 환경정보를 담은 객체이다. 콜 스택(call stack)이란 현재 어떤 함수가 동작중인지, 다음에 어떤 함수가 호출될 예정인지 등을 제어하는 자료구조이다. 이 콜 스택(call stack)에 실행 컨텍스트가 어떤 순서로 쌓이는지 아래 코드를 참고해 보자. var a = 1; // 전역 컨텍스트 function outer() { // outer 컨텍스트 console.log(a); // 3 function inner() { // inner 컨텍스트 console.log(a); // undefined var a = 3; } inner(); console.log(a); // 1 } outer(); console.log(a); /.. 2023. 1. 17.
[Javascript]원시형과 참조형 원시타입과 참조타입? 자바스크립트의 데이터 타입에는 크게 두 가지로 분류된다. 바로 원시형(기본형)과 참조형이다. 아래 이미지를 참고하자 두 가지의 타입을 나누는 기준은 일반적으로 기본형은 할당이나 연산 시 복제되고 참조형은 참조된다. 엄밀히 말하면 둘 모두 복제를 하지만 기본형은 값이 담긴 주소값을 바로 복제하는 반면 참조형은 값이 담긴 주솟값들로 이루어진 묶음을 가리키는 주솟값을 복제한다. 기본형 데이터인 숫자, 문자열, boolean, undefined, Symbol 은 모두 불변값이다. 예를 들어 불변성의 개념을 알아보자. let a = 'luka'; a = a + 's'; // 1번줄 데이터의 주소와 2번줄 데이터의 주소는 완전히 다른 별개의 데이터이다. let b = 1; let c = b; .. 2023. 1. 12.