본문 바로가기

카테고리 없음

ECMAScript 6


ES6가 나온지 꾀 됬는데도 사실 거의 사용을 하지 않고있었다.(물론 지금도 자주는 사용하지는 않는다.)그런데 여러 블로그나 다른 매체를 통해서 ES6를 접하고 한번 사용해보고 싶은 마음에 구매를 하게 된 책이다.사실 그전에 김영보씨의 몰입! 자바스크립트 라는 책을 샀었는데 문체가 내 기준에는 너무 딱딱해서 이해는 됬지만 재미있는 책은 아니었다.물론 그렇다고 이 책이 문체가 부드럽고 재미있다는 소리는 아니다.여전히 약간 나에게는 딱딱하고 재미가 있진 않지만 글을 이해시키는 측면에서는 상당히 좋고 여러가지 주의사항과 예시들 또한 그전 책에 비해 한층더 독자에게 친절함을 제공한다.ES6를 깊게 사용해보고 싶다면 일독을 권장해드립니다.
355개의 풍부한 예제와 간략하면서 핵심을 파고 든 해석!

웹 개발자라면 언젠가 한 번은 꼭 넘어야 할 산이 있다. 바로 ECMAScript(ES)이다. 저자는 이 책의 서두에 ES6를 이해하지 못하고 자바스크립트 프로그램을 개발하는 것은 전체에서 2분의 1만 사용하는 것과 같다고 하였다. 새로운 스펙에 얼마나 많은 내용이 추가되었는지를 짐작게 하는 대목이다. 이 때문에 ES6를 기준으로 자바스크립트를 다시 배우려는 개발자가 늘고 있다.

이 책에는 무려 355개의 실행 가능한 예제를 담고 있다. 각 예제에는 ES6에 새로 추가된 개념들이 녹아 있다. 특히, 예제마다 코드 한 줄 한 줄을 집요하게 파고들어서 이를 읽는 독자들이 개념과 실행 순서를 파악하는 데 도움을 주며, ES5와 비교 설명을 통해 기존 자바스크립트 개발자를 배려하였다.


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비트 값 설정

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

 

키리에(Kirie) 엽서집

도서관에서 페이퍼커팅 책을 보고 난 후 검색하다가 구매하게 된 책이예요. 유명한 커팅책이 많이 있었지만 처음인데 어려워보이지 않은 도안들과 완성후 바로 엽서로 사용할 수 있다는 점,거기다 세일까지 하고 있으니 안 살 수가 없었어요.ㅎ페이퍼 커팅은 일단 준비물이 많이 필요없다는게 가장 큰 장점 같아요.아트나이프랑 고무판만 있음 되니까요.마침 이 두 가지 다 집에 있는 것들이라 엽서집 열어서 쉬워보이는 것 부터 해보았어요.도안을 보며 하나씩 자르다 보니 예

oiakdjhd.tistory.com

 

한 권으로 보는 그림 한국사 백과

울 애들 쉽게 쉽게 볼수 있을거 같아서요한 권으로 보는 그림 한국사 백과 는 선사 시대부터 대한민국까지 우리나라 5000년 역사를 한 권으로 망라해, 한국사를 체계적으로 이해할 수 있는 책입니다. 텔레비전 드라마나 다큐멘터리를 통해 습득했던 단편적인 역사 지식만으로 역사적 호기심을 충족할 수 없었던 어린이들에게 역사 지식을 함양할 수 있는 더없이 좋은 기회가 될 것입니다. 기획부터 제작까지 3년여에 걸쳐 완성된 이 책은 우리 어린이들이 바른 역사 인식을

jdfer.tistory.com