분류 전체보기12 자바스크립트의 this 알아보기 Javascript에서의 this 란?MDN에서는 자바스크립트의 this를 아래와 같이 정의하고 있습니다.JavaScript에서 함수의 this 키워드는 다른 언어와 조금 다르게 동작합니다. 또한 엄격 모드와 비엄격 모드에서도 일부 차이가 있습니다. 대부분의 경우 this의 값은 함수를 호출한 방법에 의해 결정됩니다. 실행중에는 할당으로 설정할 수 없고 함수를 호출할 때 마다 다를 수 있습니다. ES5는 함수를 어떻게 호출했는지 상관하지 않고` this `값을 설정할 수 있는 bind 메서드를 도입했고, ES2015는 스스로의this바인딩을 제공하지 않는 화살표 함수를 추가했습니다(이는 렉시컬 컨텍스트안의this값을 유지합니다).`위 설명과 같이 자바스크립트에서의 this는 함수가 호출되는 문맥에 따라 .. 2024. 11. 9. 원시 타입과 참조 타입 - 4. V8엔진의 참조 타입 참조 타입(Reference Type)과 객체 메모리 관리지금까지 number, string, oddball (null, undefined, boolean) 타입들의 메모리 처리 방식을 살펴보았습니다. 이번 게시글에서는 참조 타입(Reference Type)에 대해 알아보겠습니다.참조 타입의 대표적인 예는 객체(Object) 입니다. 개발 중 객체를 다른 변수에 할당했을 때, 기존 객체와 의도치 않게 연결되는 경험을 해본 적이 있을 겁니다. 이는 원시 타입과는 다른 동작 방식 때문인데요, 왜 이러한 일이 발생하는지 크롬 개발자 도구의 메모리 탭을 통해 자세히 살펴보겠습니다.class ObjectSnapshot { constructor() { this.object = { string1: '.. 2024. 10. 23. 원시 타입과 참조 타입 - 3.V8 엔진의 Oddball 타입 이전 글에서는 V8 엔진에서의 문자열 처리 방법을 살펴보았습니다. 이번 글에서는 자바스크립트에서 자주 사용되는 값들인 Oddball에 대해 알아보겠습니다.자바스크립트 공식 문서를 아무리 찾아봐도 Oddball이라는 용어는 찾아보기 어렵습니다. 그래서 V8 엔진의 내부 코드와 크롬 개발자 도구를 통해 이 값들이 메모리에서 어떻게 관리되는지 살펴보겠습니다.V8 엔진에서의 Oddball 타입V8 엔진에서는 null, undefined, true, false 값을 Oddball로 처리합니다. 이를 설명하는 코드는 다음과 같습니다. (v8/oddball.h)// Oddball은 객체 `null`, `undefined`, `true`, `false`를 설명합니다.V8_OBJECT class Oddball : pub.. 2024. 10. 21. 원시 타입과 참조 타입 - 2. V8 엔진의 문자열 처리 메커니즘 이전 글에서 원시 타입(Primitive Types)과 참조 타입(Reference Types)의 구분 및 숫자 타입의 메모리 처리 방식을 살펴보았습니다. 이번 섹션에서는 문자열(String)에 대해 V8 엔진이 어떻게 메모리를 관리하고 최적화하는지 알아보겠습니다.자바스크립트에서 문자열은 원시 타입(Primitive Type)에 속하며, 값의 불변성과 효율적인 메모리 관리가 중요한 역할을 합니다. V8 엔진은 문자열을 효율적으로 관리하기 위해 다양한 내부 구조와 최적화 기법을 사용합니다. 특히, 문자열의 생성 방법에 따라 내부 구조가 다르게 관리되며, 이에 따른 메모리 할당 방식도 달라집니다. 문자열 생성 방법에 따른 내부 구조의 차이자바스크립트에서 문자열을 생성하는 방법에 따라 V8 엔진은 내부적으로 .. 2024. 10. 17. 이전 1 2 3 다음