27. Class

자바스크립트는 Prototype-based 객체지향 언어이다. Prototype-based 프로그래밍은 클래스 없이 프로토타입과 클로저 등으로 상속, 캡슐화 등의 개념을 구현할 수 있다.

대부분의 객체 지향 언어가 클래스 기반인 점을 고려하여 ES6에서 클래스를 도입했다. 그러나 그 클래스도 사실은 함수이고 기존의 프로토타입 기반 객체지향 패턴으로 동작한다.

26. Destructuring

Destructuring

구조화된 배열 / 객체를 풀어서(destructure) 개별적인 변수에 할당하는 것. 배열 / 객체 리터럴에서 필요한 값을 추출해서 변수에 할당하거나 리턴할 때 유용

25. Enhanced Object property

ES6에서 객체 리터럴 프로퍼티 기능이 확장되었다.

1. Object Property Value Shorthand

ES5에서는 프로퍼티 값으로 변수를 할당하더라도 프로퍼티 키와 값을 써주어야 한다.

1
2
3
4
5
6
7
8
9
10
var x = 1;
var y = 2;

var obj = {
x: x,
y: y
};

console.log(obj); // {x: 1, y: 2}
obj.x === obj['x']; // true

ES6에서는 프로퍼티 값으로 변수를 사용하는 경우에는 프로퍼티 키를 생략할 수 있다. (Property Shorthand) 프로퍼티 키는 변수의 이름으로 자동 생성된다.

1
2
3
4
5
6
7
let x = 1;
let y = 2;

const obj = { x, y };

console.log(obj); // {x: 1, y: 2}
obj.x === obj['x'] // true

24. Higher Order Function

고차 함수(Higher order function)

함수를 인자(paremeter)로 전달받거나 함수를 결과로 반환하는 함수.

고차 함수는 parameter로 받은 함수를 필요한 시점에 호출하거나 클로저를 생성해서 리턴한다. 자바스크립트에서 함수는 FIrst-class object이므로 값처럼 parameter 로 전달하고 리턴할 수 있다.

고차 함수는 외부에서 전달되는 보조 함수(Helper function)에 따라서 다른 동작을 수행할 수 있다. 함수는 선언된 위치의 스코프를 기억하므로 고차 함수가 클로저를 리턴하고 끝나도 클로저에 의해 참조되고 있는 고차 함수 내부의 변수는 소멸하지 않는다. 이렇게 클로저가 참조하고 있어 스코프가 유지되는 변수를 자유 변수(Free variable)라고 한다.

23. Array

자바스크립트에서는 배열(Array)도 객체이다. 배열은 Array 생성자로 생성된 Array type의 객체이며 프로토타입 객체로 Array.prototype을 가진다.

22. Regular Expression

Regular Expression

정규 표현식은 문자열에서 특정 내용을 찾거나 바꾸거나 뽑아내는 데에 사용된다.

아이디나 이메일, 비밀번호 등의 유효성 검사에 정규 표현식을 사용할 수 있다. 자주 사용하는 정규 표현식은 간단한 구글 검색으로 찾을 수 있지만, 표현식 구성법에 대해서 우선 정리해볼 것이다.

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×