ECMASCRIPT 6

고객평점
저자김영보
출판사항루비페이퍼, 발행일:2017/01/25
형태사항p.572 B5판:24
매장위치컴퓨터부(B2) , 재고문의 : 051-816-9500
ISBN9791186710111 [소득공제]
판매가격 32,000원   28,800원  (인터넷할인가:10%)
포인트 1,440점
배송비결제주문시 결제
  • 주문수량 

총 금액 : 0원

책 소개

▣ 출판사서평

모던하게! 표준에 맞게! 자바스크립트 프로그래밍의 거의 모든 것!

이 책은 ECMAScript 공식 스펙을 기준으로 ECMAScript 2015(이하 ES6)를 다룹니다. ES6와 ES7을 포함하여 자바스크립트 표준에 대한 거의 모든 내용이 담겨 있습니다. ES6에는 let과 const를 시작으로 화살표 함수, 제너레이터, 클래스, 심볼, 프락시, 프로미스 등 새롭고 특별한 개념이 많아서 완전하게 익숙해지려면 꽤 많은 시간이 필요합니다. 이 점을 고려하여 목차에 프로퍼티(메서드) 이름과 개요를 작성하여서 두고두고 참조할 수 있게 구성하였으며, 브라우저 개발자 도구의 중단점(Break Point)을 활용하여 오브젝트(인스턴스), 프로퍼티 상태를 파악하려는 독자를 위해 모든 소스에 debugger가 작성되어 있습니다. 또한, ES3부터 ES7까지 연산자, 명령문, 키워드, 함수, 클래스, 오브젝트와 메서드 등 자바스크립트의 모든 것을 망라한 ''자바스크립트 치트 시트''를 부록으로 제공합니다.

◆ 이 책의 구성
- 1장~7장: let 변수, 화살표 함수 등 ES6에 추가된 구문, 문법
- 8장~13장: 빌트인 Number, Array 등의 오브젝트에 추가된 메서드와 프로퍼티
- 14장~30장: Class, Symbol, Proxy 등의 ES6에 추가된 오브젝트

◆ 이 책의 특징과 장점
- 자바스크립트 스펙에 근거한 논리적 접근
- 간략하면서 핵심을 파고 든 설명
- 자바스크립트 경험자를 위한 아키텍처와 매커니즘 접근
- 예제 코드의 자세한 설명
- 두고두고 참조할 수 있도록 하기 위한 구성

◆ 어떤 독자를 위한 책인가?
- 자바스크립트를 이해하고 있는 개발자
- ES6 이전은 다루지 않으며 ES6 중심으로 구성
- 자바스크립트를 처음 접하는 독자는 먼저 자바스크립트 ES5 학습 필요

▣ 작가 소개

저자 : 김영보
저자는 1979년 어느 봄날, 소프트웨어 세계에 들어와 현재까지 개발 현장에서 코딩을 즐기고 있다. 그에게 있어 소프트웨어 개발은 삶이요, 모든 것이다. 웹 관련 기술을 100회 이상 강의했다. 특히, 자바스크립트에 많은 애정을 품고 있으며 보다 발전된 자바스크립트 세계를 꿈꾸고 있다.

▣ 주요 목차

1장 개요
1.1.ECMA-262 스펙 상태
1.2.ES6의 방향성
1.3.용어 표기
1.4.용어 기준
1.5.코딩 환경

2장 let, const
2.1.var 키워드
2.2.let 키워드
2.3.let 변수 작성 방법
2.4.블록 스코프
2.5.let과 this 키워드
2.6.function
2.7.try-catch
2.8.switch-case
2.9.호이스팅
2.10.for( )
2.11.const

3 arrow 함수
3.1.개요
3.2.ES5 형태와 차이
3.3.블록, 파라미터
3.4.return
3.5.new 연산자
3.6.arguments 사용
3.7.this와 setTimeout( )
3.8.화살표 함수와 setTimeout( )
3.9.prototype

4장 Iteration
4.1.개요
4.2.이터러블 프로토콜
4.3.이터레이터 프로토콜

5장 Spread 연산자
5.1.개요
5.2.rest 파라미터
5.3.Array-like
5.4.Array-like 전개
5.5.rest와 arguments 차이

6장 디스트럭처링
6.1.개요
6.2.Array 분할 할당
6.3.Object 분할 할당
6.4.파라미터 분할 할당

7장 오퍼레이션
7.1.프로퍼티 이름 조합
7.2.Default Value
7.3.Default 파라미터
7.4.for-of
7.5.for-of와 for-in 차이
7.6.for-of로 Object 열거
7.7.거듭 제곱 연산자

8장 Object 오브젝트
8.1.오퍼레이션
8.2.디스크립터
8.3.get, set 속성
8.4.getter
8.5.setter
8.6.is( ): 값과 값 타입 비교
8.7.assign( ): 오브젝트 프로퍼티 복사
8.8.assign( ) 필요성
8.9.assign( ) 고려사항
8.10.assign( ) getter
8.11.setPrototypeOf( ):__proto__에 첨부
8.12.__proto__

9장 Number 오브젝트
9.1.Number 상수
9.2.EPSILON
9.3.진수 리터럴
9.4.isNaN( ): NaN 여부
9.5.isInteger( ): 정수 여부
9.6.isSafeInteger( ): 안정 정수 여부
9.7.isFinite( ): 유한 값 여부

10장 Math 오브젝트
10.1.Math 함수 목록
10.2.sinh( ): 쌍곡 사인
10.3.asinh( ): 쌍곡 아크사인
10.4.cosh( ): 쌍곡 코사인
10.5.acosh( ): 쌍곡 아크코사인
10.6.tanh( ): 쌍곡 탄젠트
10.7.atanh( ): 쌍곡 아크탄젠드
10.8.log2( ): 2를 밑으로 한 로그 값
10.9.log10( ): 10을 밑으로 한 로그 값
10.10.log1p( ): 로그(1 + 값)
10.11.expm1( ): 자연로그 상수의 x승 - 1
10.12.hypot( ): 제곱근
10.13.cbrt( ): 세제곱근
10.14.sign( ): 사인 값
10.15.trunc( ): 소수를 제외한 정수
10.16.imul( ): 32비트로 반환
10.17.clz32( ): 32비트 값에서 0비트 수
10.18.fround( ): 32비트 유동 소수 값

11장 String 오브젝트
11.1.Unicode
11.2.fromCodePoint( ): 코드 포인트 문자 반환
11.3.codePointAt( ): 코드 포인트 값 반환
11.4.includes( ): 문자열 포함 여부
11.5.startsWith( ): 문자열 시작 여부
11.6.endsWith( ): 문자열 종료 여부
11.7.repeat( ): 문자열 복제
11.8.normalize( ): 유니코드 정규화 형식 변환

12장 Template 리터럴
12.1.개요
12.2.tagged Template
12.3.String.raw
12.4.String.raw( ): 문자열 전개, 조합

13장 Array 오브젝트
13.1.from( ): Array 오브젝트 생성
13.2.of( ): 배열 엘리먼트 설정
13.3.copyWithin( ): 범위 값 복사, 설정
13.4.fill( ): 범위 값 변경
13.5.entries( ): 이터레이터 오브젝트 생성
13.6.keys( ): Key 이터레이터 오브젝트 생성
13.7.values( ): value 이터레이터 오브젝트 생성
13.8.find( ): 엘리먼트 값 비교, 반환
13.9.findIndex( ): 배열 인덱스 반환

14장 RegExp 오브젝트
14.1.unicode 플래그
14.2.sticky 플래그

15장 Generator 오브젝트
15.1.개요
15.2.function* 선언문
15.3.function* 표현식
15.4.GeneratorFunction( ): 제너레이터 함수 생성
15.5.yield: 제너레이터 함수 실행, 멈춤
15.6.next( ): yield 단위로 실행
15.7.next( ) 활용
15.8.next( )의 다양한 형태
15.9.return( ): 이터레이터 종료
15.10.throw( ): Error 발생
15.11.yield* 키워드

16장 Class 오브젝트
16.1.Class 선언문
16.2.Class 표현식
16.3.클래스 특징
16.4.constructor
16.5.constructor 반환 값 변경
16.6.getter, setter
16.7.상속
16.8.extends 키워드
16.9.super 키워드
16.10.빌트인 오브젝트 상속
16.11.Object에서 super 사용
16.12.static 키워드
16.13.Class 호이스팅
16.14.computed name
16.15.this
16.16.제너레이터
16.17.new.target
16.18.Image 오브젝트 상속
16.19.Class 방향성

17장 Symbol 오브젝트
17.1.primitive
17.2.Symbol( ): Symbol 값 생성
17.3.Symbol 값 변경
17.4.Symbol 오브젝트 생성
17.5.오브젝트에서 Symbol 사용
17.6.Symbol 사용 형태

18장 Symbol 프로퍼티
18.1.Well-Known Symbol
18.2.toStringTag
18.3.isConcatSpreadable
18.4.unscopables
18.5.species 개념
18.6.species
18.7.다른 Class 반환
18.8.null 반환
18.9.toPrimitive
18.10.이터레이터
18.11.제너레이터
18.12.match( ): match 결과 반환

19장 Symbol 메서드
19.1.for( ): Symbol 값 저장
19.2.keyFor( ): key 값 반환
19.3.toString( ): 문자열로 변환
19.4.valueOf( ): Symbol 프리미티브 값
19.5.getOwnPropertySymbols( ): Symbol 프로퍼티 반환
19.6.JSON.stringify( ): JSON 형태로 변환

20장 Map 오브젝트
20.1.개요
20.2.new Map( ): Map 인스턴스 생성
20.3.set( ): key와 value 설정
20.4.get( ): key가 같은 value 반환
20.5.has( ): key 존재 여부
20.6.entries( ): 이터레이터 오브젝트 생성
20.7.keys( ): key 반환 이터레이터 오브젝트 생성
20.8.values( ): value 반환 이터레이터 오브젝트 생성
20.9.forEach( ): 엘리먼트마다 콜백 함수 호출
20.10.delete( ): 엘리먼트 삭제
20.11.clear( ): 모든 key, value 지움
20.12.Symbol.iterator: 이터레이터 오브젝트 생성

21장 WeakMap 오브젝트
21.1.개요
21.2.new WeakMap( ): WeakMap 인스턴스 생성
21.3.set( ): key, value 설정
21.4.get( ): key가 같은 value 반환
21.5.has( ): key 존재 여부
21.6.delete( ): 엘리먼트 삭제

22장 Set 오브젝트
22.1.개요
22.2.new Set( ): Set 인스턴스 생성
22.3.add( ): value 추가
22.4.has( ): value 존재 여부
22.5.entries( ): 이터레이터 오브젝트 생성
22.6.values( ): value 반환 이터레이터 오브젝트 생성
22.7.keys( ): key 반환 이터레이터 오브젝트 생성
22.8.forEach( ): 엘리먼트마다 콜백 함수 호출
22.9.delete( ): 엘리먼트 삭제
22.10.clear( ): 모든 value 지움
22.11.Symbol.iterator: 이터레이터 오브젝트 생성

23장 WeakSet 오브젝트
23.1.개요
23.2.new WeakSet( ): WeakSet 인스턴스 생성
23.3.add( ): value 추가
23.4.has( ): value 존재 여부
23.5.delete( ): 엘리먼트 삭제

24장 Proxy 오브젝트
24.1.개요
24.2.트랩, 핸들러

25장 Proxy Trap
25.1.new Proxy( ): Proxy 인스턴스 생성
25.2.set( ): key, value 설정
25.3.this와 트랩
25.4.get( ): 프로퍼티 값 반환
25.5.has( ): 키 존재 여부
25.6.defineProperty( ): 프로퍼티 추가, 값 변경
25.7.deleteProperty( ): 프로퍼티 삭제
25.8.preventExtensions( ): 프로퍼티 추가 금지
25.9.isExtensible( ): 프로퍼티 추가 가능 여부
25.10.getPrototypeOf( ): prototype 반환
25.11.setPrototypeOf( ): __proto__에 prototype 설정
25.12.ownKeys( ): 프로퍼티 키 반환
25.13.getOwnPropertyDescriptor( ): 디스크립터 반환
25.14.construct( ): 인스턴스 생성
25.15.apply( ): 함수 호출
25.16.revocable( ): Proxy 무효화

26장 Reflect 오브젝트
26.1.개요
26.2.get( ): 프로퍼티 값 반환
26.3.set( ): key, value 설정
26.4.has( ): 키 존재 여부
26.5.apply( ): 함수 호출
26.6.construct( ): 인스턴스 생성
26.7.defineProperty( ): 프로퍼티 추가, 값 변경
26.8.deleteProperty( ): 프로퍼티 삭제
26.9.getOwnPropertyDescriptor( ): 디스크립터 반환
26.10.getPrototypeOf( ): prototype 반환
26.11.setPrototypeOf( ): __proto__에 prototype 설정
26.12.preventExtensions( ): 프로퍼티 추가 금지
26.13.isExtensible( ): 프로퍼티 추가 가능 여부
26.14.ownKeys( ): 프로퍼티 키 반환

27장 Promise 오브젝트
27.1.개요
27.2.Promise 상태
27.3.new Promise( ): Promise 인스턴스 생성
27.4.then( ): 성공, 실패 핸들러
27.5.catch( ): 실패 핸들러
27.6.resolve( ): 성공 상태의 인스턴스 반환
27.7.reject( ): 실패 상태의 인스턴스 반환
27.8.all( ): 모두 성공이면 핸들러 실행
27.9.race( ): 처음 한 번만 핸들러 호출

28장 ArrayBuffer 오브젝트
28.1.Typed Array
28.2.Typed Array 구현 요소
28.3.ArrayBuffer 개요
28.4.new ArrayBuffer( ): ArrayBuffer 인스턴스 생성
28.5.slice( ): 지정 범위 복사
28.6.isView( ): TypedArray, DataView 여부
28.7.Symbol.species: constructor 반환

29장 TypedArray 오브젝트
29.1.개요
29.2.비트 값 구성
29.3.new TypedArray(length): 엘리먼트 수로 TypedArray 생성
29.4.new TypedArray(TypedArray): TypedArray로 TypedArray 생성
29.5.new TypedArray(object): 오브젝트로 TypedArray 생성
29.6.new TypedArray(ArrayBuffer): ArrayBuffer로 TypedArray 생성
29.7.BYTES_PER_ELEMENT: 엘리먼트의 바이트 수
29.8.buffer: 사용한 ArrayBuffer 반환
29.9.byteOffset: ArrayBuffer의 오프셋 값
29.10.from( ): TypedArray 생성
29.11.of( ): TypedArray 생성 및 값 설정
29.12.set( ): TypedArray에 값 설정
29.13.subarray( ): ArrayBuffer 값 복사
29.14.Symbol.iterator( ): 이터레이터 오브젝트 생성
29.15.Symbol.species( ): constructor 반환
29.16.copyWithin( ): 범위 값 복사
29.17.구조체

30장 DataView 오브젝트
30.1.개요
30.2.new DataView( ): DataView 생성
30.3.엔디언
30.4.getInt8( ): 사인 부호가 있는 8비트 값 반환
30.5.setInt8( ): 사인 부호가 있는 8비트 값 설정
30.6.setUint8( ): 사인 부호가 없는 8비트 값 설정
30.7.setInt16( ): 사인 부호가 있는 16비트 값 설정

부록 : 자바스크립트 치트 시트
찾아보기

작가 소개

목 차

역자 소개

01. 반품기한
  • 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
  • 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품 배송비
반품사유 반품 배송비 부담자
단순변심 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다.
상품의 불량 또는 오배송 고객 부담이 아닙니다.
03. 배송상태에 따른 환불안내
환불안내
진행 상태 결제완료 상품준비중 배송지시/배송중/배송완료
어떤 상태 주문 내역 확인 전 상품 발송 준비 중 상품이 택배사로 이미 발송 됨
환불 즉시환불 구매취소 의사전달 → 발송중지 → 환불 반품회수 → 반품상품 확인 → 환불
04. 취소방법
  • 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
  • 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
환불시점
결제수단 환불시점 환불방법
신용카드 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) 신용카드 승인취소
계좌이체 실시간 계좌이체 또는 무통장입금
취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준)
계좌입금
휴대폰 결제 당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소
전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준)
당일취소 : 휴대폰 결제 승인취소
익월취소 : 계좌입금
포인트 취소 완료 후, 당일 포인트 적립 환불 포인트 적립
06. 취소반품 불가 사유
  • 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
  • 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
  • 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
  • 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
  • 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
  • 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.

환불불가
상품군 취소/반품 불가사유
의류/잡화/수입명품 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우
계절상품/식품/화장품 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
가전/설치상품 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.)
자동차용품 상품을 개봉하여 장착한 이후 단순변심의 경우
CD/DVD/GAME/BOOK등 복제가 가능한 상품의 포장 등을 훼손한 경우
내비게이션, OS시리얼이 적힌 PMP 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우
노트북, 테스크탑 PC 등 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우