로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

ECMAScript 6 길들이기

 [최신 표준으로 다시 배우는 자바스크립트 프로그래밍]
   
지은이 나라얀 프루스티   |   출판사 에이콘  |   발행일 2016년 01월 20일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 20,000원18,000원 10%
마일리지 1% 200원
발행일 2016-01-20
ISBN 896077815X | 9788960778153
기타정보 번역서 | 212쪽 | 일반
예상출고일 1일 (근무일기준)
배송비 2,000원 (20,000원이상 무료배송)
   
프로그래밍언어
종합지수 0p
   
이 책의 원서
  Learning Ecmascript 6
Packt Publishing | Narayan Prusty
 

★ 요약 ★

2015년 6월, 자바스크립트의 새 표준인 ECMAScript 6가 확정 발표됐다. 이 책은 ES6의 여러 가지 새로운 기능과 구문 요소들을 다루고 있으며, 빠르게 학습할 수 있도록 도와줄 것이다. 100여 개에 달하는 간단한 예제 코드를 실습해보면서 ES6에서 새로 추가된 부분과, 이전 버전과 달라진 점이 무엇인지 일목요연하게 파악할 수 있도록 자세히 안내한다.


★ 추천의 글 ★

요즘이야말로 자바스크립트를 사용하기에 더 없이 좋은 시기다. 지난 수년간 자바스크립트는 건드리고 싶지 않은 언어에서 누구나 배우고 싶어하는 언어로 거듭났다. 하루가 멀다하고 새로 탄생하는 크고 복잡한 애플리케이션들이 그 어느 때보다 자바스크립트를 더 많이 사용하고 진화시킨다. 새로운 클라이언트 측 개발 요건을 충족하기 위해 새로운 프레임워크와 애플리케이션 설계 방식이 쏟아져 나오고 있으며 관련 커뮤니티 활동도 왕성해졌다.
ES6로 더 잘 알려진 ECMAScript 2015 덕분에 마침내 자바스크립트는 만인의 원대한 희망에 잘 맞는 언어가 되었다. 이제 프라미스(promise)와 모듈 시스템 같은 꼭 필요한 큰 기능이 자바스크립트에 포함됐고, 재미있게 개발할 수 있게 해주는 작고 섬세한 요소 또한 가미됐다. 객체 해체를 배우고 나면 지금까지 이것 없이 자바스크립트를 어떻게 썼나 싶을 테고, 화살표 함수를 한 번 써보면 두 번 다시 ‘함수’ 타입은 생각하고 싶지도 않을 것이다. 복잡하기 이를 데 없는 함수 스코프와 변수 누수 문제를 let 키워드로 간단히 예방하면 책상에 머리를 찧는 횟수도 줄어들리라.
ES6는 훌륭한 언어 명세고 ES5에 비해 상당 부분 개선되었지만 아직 브라우저에 완벽히 구현된 상태는 아니다. 하지만 여러 커뮤니티 회원들의 노력 덕분에 그때까지 기다리지 않아도 지금 당장 사용할 수 있다. 과거에는 자바스크립트를 어느 브라우저든 사용할 수 있을 때까지 5년 정도 걸렸지만, ES5와 호환되는 ES6 코드를 생성하는 도구들이 있어서 미래의 기술을 미리 경험해볼 수 있다.
이 책은 자바스크립트에서 가장 유용한 추가 기능을 골라 안내하면서 마치 여러분이 지금껏 사용해왔던 기능처럼 느껴지도록 재빨리 습득할 수 있게 도와준다. ES6 자체 모듈 시스템으로 모듈러 애플리케이션을 제작하는 일이 얼마나 쉬운지, 코드는 얼마나 깔끔하게 짧아지고, 코딩은 또 얼마나 즐거워질지 곧 알게 될 것이다. 새로운 표준을 받아들인다는 건 모든 개발자에게 벅찬 일이지만 그 일을 수월하게 도와줄 이 책의 추천사를 쓰게 되어 매우 기쁘다.
이 책은 ES6로 강화된 자바스크립트의 과감한 신세계, 클라이언트 애플리케이션, 프레임워크 등을 짚어가며 여러분의 첫 도약에 큰 도움을 줄 것이다. 나만큼 여러분도 재미있게 읽기를 바란다.
잭 프랭클린(Jack Franklin) / 자바 개발자, GoCardless
@Jack_Franklin, http://www.jackfranklin.co.uk


★ 이 책에서 다루는 내용 ★

■ ES6부터 도입된 새로운 구문 사용법
■ 프로토타입 기반의 ES6 기능 활용
■ ES6 비호환 환경에서의 ES6 코드 실행
■ 프라미스를 이용해 읽고 관리하기 쉬운, 좀 더 우수한 비동기 코드 작성
■ 이터레이터, 이터러블, 제너레이터의 사용법
■ 객체 지향 프로그래밍과 클래스로 객체 생성하는 방법.
■ ES6 프록시 API를 통한 프록시 작성 및 용도 이해
■ ES6 모듈을 이용한 자바스크립트 라이브러리 제작
★ 이 책의 대상 독자 ★

기본적인 개발 지식을 보유한 자바스크립트 개발자라면 이 책을 통해 최신 ES6 기능을 배우고 더 나은 클라이언트 측 프로그램을 개발하는 데 활용할 수 있다.


★ 이 책의 구성 ★

1장, ‘문법 맛보기’에서는 변수, 함수 파라미터를 생성하는 새로운 방법을 소개하고, 새로 추가된 객체/함수 구문을 자세히 알아본다.
2장, ‘라이브러리’에서는 기존 객체에 추가된 프로토타입 기반의 새로운 메소드들을 살펴본다.
3장, ‘이터레이터’에서는 새롭게 추가된 이터레이터, 사용자 이터레이터 생성 방법, 꼬리 호출 최적화 등을 알아본다.
4장, ‘비동기 프로그래밍’에서는 비동기 실행 코드를 프라미스로 쉽게 작성하는 방법을 다룬다.
5장, ‘리플렉트 API 구현’에서는 ES6 객체 리플렉션을 깊숙이 탐구한다.
6장, ‘프록시’에서는 ES6 프록시로 객체의 기본 로직에 변화를 주는 방법을 알아본다.
7장, ‘클래스 답사’에서는 ES6 클래스를 응용한 객체 지향 프로그래밍과, 상속, 생성자, 추상화, 정보 은닉 등의 개념을 설명한다.
8장, ‘모듈러 프로그래밍’에서는 IIFE, 커먼JS, AMD, UMD, ES6 모듈 등의 여러 기법으로 자바스크립트 모듈을 생성하는 방법을 이야기한다.

1 문법 맛보기
__let 키워드
____함수 스코프 변수 선언
____블록 스코프 변수 선언
____변수 재선언
__const 키워드
____상수의 스코프
____상수를 통한 객체 참조
__파라미터 기본값
__펼침 연산자
____펼침 연산자의 다른 용례
________배열 값을 다른 배열의 일부로 만듦
________배열 값을 다른 배열에 밀어 넣기
____여러 배열 펼침
__나머지 파라미터
__해체 할당
____배열 해체 할당
________값을 건너뛴다
________배열 해체 할당에 나머지 연산자를 사용
________변수의 기본값
________중첩 배열 해체
________파라미터로 배열 해체 할당 사용
____객체 해체 할당
________변수의 기본값
________조합 프로퍼티명을 해체
________중첩 객체를 해체
________파라미터로 객체 해체 할당 사용
__화살표 함수
____화살표 함수에서의 this 값
____화살표 함수와 일반 함수의 차이점
__강화된 객체 리터럴
____프로퍼티 정의
____메소드 정의
____조합 프로퍼티명
__요약

2 라이브러리
__숫자
____2진수
____8진수
____Number.isInteger(number) 메소드
____Number.isNaN(value) 메소드
____Number.isFinite(number) 메소드
____Number.isSafeInteger(number) 메소드
____Number.EPSILON 프로퍼티
__수학 연산
____삼각 연산
____산술 연산
____기타 메소드
________Math.imul(number1, number2) 함수
________The Math.clz32(number) 함수
________The Math.sign(number) 함수
________The Math.trunc(number) 함수
________The Math.fround(number) 함수
__문자열
____비트가 초과된 코드 포인트를 이스케이프
____codePointAt(index) 메소드
____String.fromCodePoint(number1, ..., number 2) 메소드
____repeat(count) 메소드
____includes(string, index) 메소드
____startsWith(string, index) 메소드
____endsWith(string, index) 함수
____정규화
________사례
____템플릿 문자열
________표현식
________여러 줄 문자열
________원래 문자열
__배열
____Array.from(iterable, mapFunc, this) 메소드
____Array.of(values...) 메소드
____fill(value, startIndex, endIndex) 메소드
____find(testingFunc, this) 메소드
____findIndex(testingFunc, this) 메소드
____copyWithin(targetIndex, startIndex, endIndex) 함수
____entries(), keys(), and values() 메소드
__콜렉션
____배열 버퍼
____타입화 배열
____세트
____위크세트
____맵
____위크맵
__객체
______proto__ 프로퍼티
________Object.is(value1, value2) 메소드
________Object.setPrototypeOf(object, prototype) 메소드
________Object.assign(targetObj, sourceObjs...) 메소드
__요약

3 이터레이터
__ES6 심볼
____typeof 연산자
____new 연산자
____심볼을 프로퍼티 키로 사용
____Object.getOwnPropertySymbols() 메소드
____Symbol.for(string) 메소드
____상용 심볼
__이터레이션 규약
____이터레이터 규약
____이터러블 규약
__제너레이터
____return(value) 메소드
____throw(exception) 메소드
____yield* 키워드
__for...of 루프
__꼬리 호출 최적화
____꼬리 호출 아닌 코드를 꼬리 호출로 전환
__요약

4 비동기 프로그래밍
__자바스크립트 실행 모델
__비동기 코드 작성
____이벤트를 포함한 비동기 코드
____콜백을 포함한 비동기 코드
__구원자, 프라미스
____프라미스 생성자
____이룸값
____then(onFulfilled, onRejected) 메소드
____catch(onRejected) 메소드
____Promise.resolve(value) 메소드
____Promise.reject(value) 메소드
____Promise.all(iterable) 메소드
____Promise.race(iterable) 메소드
__프라미스 기반의 자바스크립트 API
____배터리 상태 API
____웹 암호화 API
__요약

5 리플렉트 API 구현
__Reflect 객체
____Reflect.apply(function, this, args) 메소드
____Reflect.construct(constructor, args, prototype) 메소드
____Reflect.defineProperty(object, property, descriptor) 메소드
________데이터 프로퍼티와 접근자 프로퍼티
____Reflect.deleteProperty(object, property) 메소드
____Reflect.enumerate(object) 메소드
____Reflect.get(object, property, this) 메소드
____Reflect.set(object, property, value, this) 메소드
____Reflect.getOwnPropertyDescriptor(object, property) 메소드
____Reflect.getPrototypeOf(object) 메소드
____Reflect.setPrototypeOf(object, prototype) 메소드
____Reflect.has(object, property) 메소드
____Reflect.isExtensible(object) 메소드
____Reflect.preventExtensions(object) 메소드
____Reflect.ownKeys(object) 메소드
__요약

6 프록시
__프록시란?
____용어 정의
__프록시 API
____트랩
________get(target, property, receiver) 메소드
________set(target, property, value, receiver) 메소드
________has(target, property) 메소드
________isExtensible(target) 메소드
________getPrototypeOf(target) 메소드
________setPrototypeOf(target, prototype) 메소드
________preventExtensions(target) 메소드
________getOwnPropertyDescriptor(target, property) 메소드
________defineProperty(target, property, descriptor) 메소드
________The deleteProperty(target, property) 메소드
________enumerate(target) 메소드
________ownKeys(target) 메소드
________apply(target, thisValue, arguments) 메소드
________construct(target, arguments) 메소드
____Proxy.revocable(target, handler) 메소드
________용례
__프록시 용도
__요약

7 클래스 답사
__객체 지향 자바스크립트
____자바스크립트 데이터 타입
____객체 생성
____상속
____원시 데이터 타입 생성자
__클래스 다루기
____클래스 정의
________클래스 선언
________클래스 표현식
____프로토타입 메소드
________get/set 메소드
________제너레이터 메소드
____정적 메소드
____클래스의 상속 구현
____조합 메소드명
____프로퍼티 속성
____클래스는 호이스팅 안 된다!
____생성자 메소드 결과를 오버라이딩
____정적 접근자 프로퍼티, Symbol.species
____암시적 파라미터, new.target
__객체 리터럴에 super 사용
__요약

8 모듈러 프로그래밍
__자바스크립트 모듈이란?
__모듈 구현 - 기존 방법
____즉시 실행 함수 표현식(IIFE)
____비동기 모듈 정의(AMD)
____커먼JS
____만능 모듈 정의
__새로운 모듈 구현 방식
____ES6 모듈 생성
____ES6 모듈 임포트
____모듈 로더
____브라우저에 모듈 사용
____eval() 함수에서 모듈 사용
____기본 익스포트 vs 명명된 익스포트
____종합 예제
__요약

나라얀 프루스티(Narayan Prusty)
웹/모바일 앱 개발자다. 워드프레스, HTML5, 자바스크립트, PHP, 솔라(Solr), 코도바(Cordova)에 능하다. 수년간 기술을 연마하며 애플리케이션을 제작해왔다.
다양한 애플리케이션 개발 강좌 서비스로 전 세계 10,000명 이상의 구독자를 확보한 QScutter.com을 창업했다. 개인 블로그(http://www.QNimate.com)는 인텔 XDK 및 워드프레스 블로그 중에서 최상위권에 랭크되어 있다. 세계 각국의 많은 기업에서 컨설턴트, 프리랜서 개발자로 근무했다.
개인 홈페이지는 http://www.twitter.com/narayanprusty다.
등록된 서평이 없습니다.
SQL 전문가 가이드 [The Guide for SQL Professional](2013 Edition)...
한국데이터베이스진흥원
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
C언어 콘서트...
천인국
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
명품 자바 에센셜...
황기태
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
최준승, 이...
찰스 비히스...
타리크 라시...
 
전체평균(0)
회원평점   회원서평수 0
에이콘 출판사의 신간
실전 네트워크와 네트워크 보안 실무
현정훈 저
36,000원
(10%↓+5%)
 
pfSense 마스터
데이빗 지엔타라 저
31,500원
(10%↓+5%)
 
핵심을 정리한 스위프트 3
존 호프만 저
27,000원
(10%↓+5%)
 
제4차 변혁
로버트 스코블, 셸 이스라엘 저
16,200원
(10%↓+5%)
 
손에 잡히는 실전 비즈니스 인텔리전스
아메드 셰리프 저
27,000원
(10%↓+5%)
 
이메일주소수집거부