Language/JavaScript 15

자바스크립트 클로저

유인동님의 함수형 자바스크립트 프로그래밍을 시작하며자바스크립트의 함수와 관련된 몇 가지 기능들에 대해 알아보고자 합니다. 클로져클로져는 자신이 생성될 때의 환경을 기억하는 함수이다. 이 문장만 보면 클로져가 너무 어렵다고 생각될 수가 있습니다. 따라서 조금 더 쉽게 표현하고자 예시를 들어보려 합니다. 예시​xfunction outerFunc() { const outerVar = `I'm outer variable`; function innerFunc() { console.log(outerVar); } return innerFunc;}​outerFunc()(); // I'm outer variable클로져는 자신이 생성될 때의 스코프에서 알 수 있었던 변수를 기억하는 함수다.그렇다면, 자바스크립트의 모든 ..

Language/JavaScript 2019.08.08

자바스크립트 스코프

유인동님의 함수형 자바스크립트 프로그래밍을 시작하며자바스크립트의 함수와 관련된 몇 가지 기능들에 대해 알아보고자 합니다. 스코프클로져에 대해 이해하기 위해서는 스코프의 개념을 필요로합니다.자바스크립트의 스코프는 변수들(variables)의 접근성을 정의한 것입니다. 좀 더 풀어말하자면 변수를 어디에서 어떻게 찾을지 정한 규칙입니다.스코프의 두 가지 종류에는 Global Scope(전역 스코프)와 Local Scope(지역 스코프)가 있습니다.Global scope모든 함수들 혹은 중괄호({})밖에 정의된 변수들을 Global Scope에 있다고 정의합니다.Global Variable(전역 변수)를 선언하였다면, 그 변수는 당신의 코드 어디서나 사용할 수 있습니다. 심지어 함수에서도 말이죠.Global S..

Language/JavaScript 2019.08.03

자바스크립트 일급함수

유인동님의 함수형 자바스크립트 프로그래밍을 시작하며 자바스크립트의 함수와 관련된 몇 가지 기능들에 대해 알아보고자 한다. 일급함수 자바스크립트의 함수는 일급 객체이자 일급 함수이다. 일급이라는 말이 직해하기는 다소 어렵다. 따라서 일급의 조건을 먼저 알아보면 다음과 같다. 변수에 담을 수 있다. 함수나 메서드의 인자로 넘길 수 있다. 함수나 메서드에서 리턴할 수 있다. 그렇다면 일급 함수를 만족하기 위해서는 어떤 조건들이 필요한지 알아보자. 아무 때나(런타임에서도) 선언이 가능하다. 익명으로 선언할 수 있다. 익명으로 선언한 함수도 함수나 메서드의 인자로 넘길 수 있다. 예시 function fnExample1() {} var a = typeof fnExample1 == 'function'..

Language/JavaScript 2019.08.02

자바스크립트의 프로토타입

자바스크립트는 프로토타입에 기반한 언어입니다. 프로토타입 기반 프로그래밍에서는 Java의 Class처럼 프로토타입을 사용합니다. 하지만 Java에서 Class를 기반으로 인스턴스를 생성하여 객체를 사용하는 것과 다르게 JS에서는 프로토타입을 토대로 클로닝(Clonning)과 객체특성을 확장해나가는 방식으로 새로운 객체를 생성하여 사용합니다. 자바스크립트의 프로토타입은 크게 Prototype Object과 Prototype Link로 나뉩니다. Project Object function hello() {} var helloObject = new hello(); 자바스크립트에서 객체는 함수로 생성합니다. helloObject는 hello라는 함수로 생성한 객체입니다. 우선 함수가 정의될 때, 일어나는 일을 ..

Language/JavaScript 2019.05.24

2019년의 JavaScript ES2019 예상

2019년의 JavaScript ES2019 예상 이 글은 What's New in JavaScript for 2019에 대한 번역본입니다. 직접 번역한 것으로 퍼가실 때는 출처를 남겨주시고 오류가 있다면 댓글로 이야기해주시면 감사하겠습니다. 2019년의 JavaScript는? 지난 몇 년동안 JavaScript는 새로운 기능들과 함께 진화해왔습니다. 만약 JavaScript의 다음 버전에 대해 궁금하시다면, 이 글은 당신을 위한 글입니다! 우리가 최신의 JavaScript 기능들을 이야기하기 앞서서 JavaScript에 최신의 기능들이 추가되는 방식에 대한 이해가 필요합니다. JavaScript에 새로운 기능 추가 프로세스 JavaScript를 구동하는 언어 사양을 ECMAScript라고 합니다. EC..

Language/JavaScript 2019.01.27