개발공부/자바스크립트(14)
-
[코어 자바스크립트] this② 함수의 메소드 call, apply, bind
명시적으로 this를 바인딩하는 방법 call 메서드 call 메서드는 메서드의 호출 주체인 함수를 즉시 실행하도록 하는 명령이다. 이때 call메서드의 첫 번째 인자를 this로 바인딩하고, 이후의 인자들을 호출할 함수의 매개변수로 한다. Function.prototype.call(thisArg[, arg1[, arg2[, ...]]]) var func = function(a,b,c) { console.log(this, a, b, c); }; func(1,2,3); // Window{ ... } 1 2 3 func.call({x:1}, 4, 5, 6); // {x: 1} 4 5 6 var obj = { a: 1, method: function(x, y) { console.log(this.a, x, y)..
2021.06.25 -
[코어 자바스크립트] 상황에 따라 달라지는 this ①
자바스크립트에서의 this는 다른 대부분의 언어에서와 달리 어디서든 사용 가능하다. 상황에 따라 달라지는 this - this는 실행 컨텍스트가 생성될 때 결정 된다. = this는 함수를 호출할 때 결정된다. - 함수를 어떤 방식으로 호출하느냐에 따라 값이 달라진다. 전역 공간에서의 this - 전역객체를 가르킴 - global (window, global) 전역공간에서의 this는 전역객체를 의미하므로 window.a === this.a 이지만 그렇다고 그 값이 어떻게 1인걸까? 바로, 자바스크립트의 모든 변수는 특정 객체의 프로퍼티로 동작하기때문이다. var연산자를 이용해 변수를 선언하더라도 실제 js엔진은 어떤 특정 객체의 프로퍼티로 인식한다. 특정객체 = 실행객체의 Lexical Environm..
2021.06.23 -
[코어 자바스크립트] 2. 실행 컨텍스트
Everything in JS happens inside an "Execution Context" 실행 컨텍스트 = 자바 스크립트가 실행되기 위해 필요한, 변수, 스코프, this값등의 묶음 = 코드가 실행되고 있는 구역, 범위 한마디로, Execution Context 박스 안에서 자바스크립트 코드들이 실행되는 것 실행 컨텍스트란? 스택: 출입구가 하나뿐인 깊은 우물 같은 데이터 구조(LIFO = 1 - 2 - 3 순으로 들어가서 3 - 2 - 1 순으로 나옴) 큐: 양쪽이 모두 열려있지만 보통 한쪽은 입력, 다른 한쪽은 출력만을 담당하는 데이터 구조(FIFO = 1 - 2 - 3 순으로 들어가서 1 - 2 - 3순으로 나옴) 그래서 이 스택과 큐가 실행 컨텍스트와 무슨 상관일까? ➡️ 실행 컨텍스트란..
2021.06.20 -
[코어 자바스크립트] 1. 데이터 타입
보호되어 있는 글입니다.
2021.06.19 -
[개념] 배열
배열에 있는 데이터 하나하나 = element(요소) index = 배열안의 데이터들의 순서 (0부터 시작) // 1번째 방법 // 클래스를 활용해 객체를 만듦 // Array라는 클래스는 JS내부적으로 이미 갖고있음 const arr1 = new Array(1, 2, 3, 4, 5) // 2번째 방법 // 배열 const arr2 = [1, 2, 3, 4, 5] // 배열의 길이 console.log(arr2.length) // 배열의 마지막 요소 구하기 console.log(arr2[arr2.length - 1]) push와 pop을 사용화여 배열에 요소를 추가, 제거 할 수 있다. arr2.push(10) // 10추가 arr2.pop(3) // 3제거 반복문 활용해보기 const Fruits = ..
2021.06.11