es6에서 변화된 내용을 공부하고 있는데 arrow function 을 공부하다가 계속 미루고 미루던 this의 개념에 부딪혀 이건 정리 안하면 넘어가기 힘들겠다고 생각이 들어드디어 정리를 하려고 한다.자바스크립트에서 this 가 논란의 중심이 되는 이유는 한 가지 개
비동기 비동기의 의미는 asynchronous, 싱크가 안맞는다는 뜻이다. 흔히들 자막과 소리가 안 맞을 때 싱크가 안 맞네라고 말한다. 즉, 자막과 소리가 동시에 발생해야지 synchronous 하다고 한다. 이것을 프로그래밍 개념에 접목시켜서 이해하려고 하면
변수(variable)는 프로그래밍에서 가장 기초적으로 사용되는 개념이다. 값을 저장하고 재사용하기 위해서 사용된다.컴퓨터가 동작하는 방식은 인간의 뇌를 닮아있다. 인간의 뇌가 정보를 처리하는 방식에서 컴퓨터의 동작을 모델링 했으니 닮아 있을 수 밖에 없다.간단하게 1
자바스크립트에서의 함수는 엄청나게 중요하다. 객체와 함수만 정확히 알아도 js의 많은 부분을 알았다고 할 수 있을 것이다. 스코프, 실행 컨텍스트, 클로저, 생성자 함수, 메서드, this, 프로토타입, 모듈화 등이 함수와 연관이 된다. 프로그래밍 언어에서 함수는 수학
생성자 함수와 프로토타입 자바스크립트에서 생성자 함수와 프로토타입은 떨어뜨려 생각할 수 없는 개념이다. 두 개념은 특별한 경우가 아니면, 짝을 지어 생성된다. 물론 항상 둘이 연결되진 않지만, 개념을 이해하는 데는 두 가지를 함께 이야기하는 것이 좋다. 생성자 함수
this 는 일반적으로 객체지향 프로그래밍 언어에서 사용되는 예약어이다. 객체 내부에서 자신이 속한 객체를 참조할 수 있어야 그 객체의 내부의 변수나 함수를 참조할 수 있기 때문에 이 예약어가 필요하다. 자바스크립트는 함수 호출 방식에 따라 객체가 참조하는 this의
자바스크립트의 객체 객체란. 객체란 일반적으로 객체 지향 프로그래밍에서 클래스를 통해 만들어지는 데이터를 말한다. 하지만 자바스크립트에서 말하는 객체는 종류가 다르다. 자바스크립트는 원시타입과 객체로만 데이터가 구성되어 있다. 때문에 객체는 데이터 타입의 일부라 볼 수
실행 컨텍스트와 클로저는 자바스크립트 및 함수형 언어의 꽃이라고 생각한다. 특히 실행 컨텍스트는 자바스크립트의 동작 원리를 담고 있는 핵심이라고 생각한다.
클래스는 ES6에서 새로 도입된 객체 생성 방법이다. 자바스크립트는 기본적으로 프로토타입 기반 객체지향 언어이기 때문에, 클래스 기반 객체지향 프로그래밍 언어에 익숙한 개발자는 접근하기 어려웠었다. 생성자 함수와 비슷한 기능을 제공하지만 완전히 같지는 않다. 때문에,
배열 자바스크립트에서 가장 중요한 3가지를 꼽으라 하면 객체, 함수, 그리고 배열일 것이다. 가장 큰 이유 중에 하나는 JSON이 배열과 객체의 조합으로 이루어져 있다는 것. 하지만 자바스크립트의 배열은 자료구조에서 말하는 엄밀한 의미의 배열이 아니다. 자료구조에서 배
이터러블이라 하면 흔히들 그냥 순회 가능한? 이라고 알고 있다. 나도 그랬다. 물론 이터러블의 목적은 순회를 하기 위해서 만들어졌다. 하지만 파고 들어가면 이 이터러블의 정의는 생각과는 약간 다르다.이터러블은 순회 가능한 자료구조를 만들기 위해 ECMAScript 사양
점점 자바스크립트 언어 자체에서 브라우져까지 공부하게 되는 것을 알 수 있다. 자바스크립트는 node.js 나 electron 같은 런타임 환경을 제공받아 사용할 수도 있지만, 기본적으로는 브라우저 환경에서 사용되도록 만들어진 언어이다. 그러므로 브라우저에 대한 의존성