책 소개
자바스크립트, ES6로 시작하자 !
HTML, CSS와는 다르다
자바스크립트는 HTML, CSS와 더불어 웹 사이트를 만드는 필수 기술 중 하나로 꼽히며, 보통 HTML과 CSS를 익힌 후 학습한다. HTML과 CSS가 비교적 문법이 단순하고 실행 결과를 바로 볼 수 있는데 반해, 자바스크립트는 변수, 함수처럼 프로그래밍 기초 개념부터 짚어가며 익혀야 한다. 프로그래밍 실행 방법부터 변수, 값, 함수와 같은 프로그래밍 기초 개념부터 익히자.
가장 핵심적인 업데이트, ES6
ECMAScript는 자바스크립트의 표준을 정의한 규격으로, ES6는 2009년에 ES5가 표준화된 이후에 처음 업데이트된 버전이다. 객체와 메서드, 모듈 및 문법 변경에 이르기까지 많은 변화가 있어 가장 핵심적인 업데이트가 이루어진 것으로 평가받고 있다. 자바스크립트를 처음 배운다면 ES6로 시작하자.
다양한 예제로 실습하며 이해하자
자바스크립트 기본 문법은 물론 정규 표현식, 객체 지향 프로그래밍, 함수형 프로그래밍에 이르기까지 개념을 이해할 수 있는 다양한 예제를 보여준다. 또한, Canvas를 활용해 복소 평면에 망델브로 집합 그리기, 생명 게임을 만들며 MVC 프레임워크 구현하기, 그림판 만들기 등 컴퓨터 그래픽스가 적용된 알찬 예제도 수록했다. 다양한 예제를 직접 실행해보고 수정하며 내용을 확실하게 이해하자.
HTML, CSS와는 다르다
자바스크립트는 HTML, CSS와 더불어 웹 사이트를 만드는 필수 기술 중 하나로 꼽히며, 보통 HTML과 CSS를 익힌 후 학습한다. HTML과 CSS가 비교적 문법이 단순하고 실행 결과를 바로 볼 수 있는데 반해, 자바스크립트는 변수, 함수처럼 프로그래밍 기초 개념부터 짚어가며 익혀야 한다. 프로그래밍 실행 방법부터 변수, 값, 함수와 같은 프로그래밍 기초 개념부터 익히자.
가장 핵심적인 업데이트, ES6
ECMAScript는 자바스크립트의 표준을 정의한 규격으로, ES6는 2009년에 ES5가 표준화된 이후에 처음 업데이트된 버전이다. 객체와 메서드, 모듈 및 문법 변경에 이르기까지 많은 변화가 있어 가장 핵심적인 업데이트가 이루어진 것으로 평가받고 있다. 자바스크립트를 처음 배운다면 ES6로 시작하자.
다양한 예제로 실습하며 이해하자
자바스크립트 기본 문법은 물론 정규 표현식, 객체 지향 프로그래밍, 함수형 프로그래밍에 이르기까지 개념을 이해할 수 있는 다양한 예제를 보여준다. 또한, Canvas를 활용해 복소 평면에 망델브로 집합 그리기, 생명 게임을 만들며 MVC 프레임워크 구현하기, 그림판 만들기 등 컴퓨터 그래픽스가 적용된 알찬 예제도 수록했다. 다양한 예제를 직접 실행해보고 수정하며 내용을 확실하게 이해하자.
작가 소개
저 : 이소 히로시
토키와 대학 사회환경학부 부교수다. 쓰쿠바 연구 학원 전문 학교 강사, 후지 단기 대학 부교수와 후지 토키와 대학 조교수를 거쳤으며, CAD와 프로그래밍, 수학, 과학 교육 분야에서 활동하고 있다. 1988년에 미국 페르미 국립 가속기 연구소 연구원으로 양자 반양성자 충돌 실험에 참여했으며, 1987년에 쓰쿠바 대학 대학원 박사 물리학 대학원에서 단위 취득 후 만기 퇴학했으며, 이학 박사다. <연습을 통해 실력을 쌓는 HTML /CSS 코딩 교과서>를 집필했다.
역 : 서재원
프리랜서 웹 개발자와 번역가로 활동 중. 최근에는 클라우드 기술의 활용에 관심이 많다. 번역서로는 ‘그림으로 배우는 알고리즘’, ‘그림으로 배우는 자바’, ‘그림으로 배우는 C++’, ‘그림으로 배우는 클라우드’ 등이 있다
목 차
1장 자바스크립트의 개요
1.1 프로그래밍 언어로서의 자바스크립트
1.2 자바스크립트의 역사
2장 프로그램의 작성법과 실행법
2.1 실습 준비하기
2.2 간단한 예제
2.3 프로그램 실행법
2.4 프로그램 작성법
3장 변수와 값
3.1 변수
3.2 데이터 타입
3.3 ECMAScript 6부터 추가된 데이터 타입
4장 객체와 배열, 함수의 기초
4.1 객체의 기초 ① 객체 리터럴
4.2 함수의 기초
4.3 객체의 기초 ② 생성자
4.4 객체의 기초 ③ 내장 객체
4.5 배열의 기초
5장 표현식과 연산자
5.1 연산자
5.2 산술 연산
5.3 문자열 제어하기
5.4 논리 연산자와 관계 연산자
5.5 비트 연산
5.6 기타 연산
5.7 명시적 타입 변환
6장 웹 브라우저에서의 입출력
6.1 대화상자 표시하기
6.2 console
6.3 이벤트 처리기 등록하기와 타이머 알아보기
6.4 HTML 요소를 동적으로 읽고 쓰기
6.5 Canvas를 활용한 컴퓨터 그래픽스
7장 제어 구문
7.1 제어 구문
7.2 조건문
7.3 반복문
7.4 점프문
7.5 응용 예제
8장 함수
8.1 함수 정의하기
8.2 함수 호출하기
8.3 함수의 인수
8.4 재귀 함수
8.5 프로그램의 평가와 실행 과정
8.6 클로저
8.7 이름 공간
8.8 객체로서의 함수
8.9 고차 함수
8.10 콜백 함수
8.11 ECMAScript 6부터 추가된 함수의 기능
9장 객체
9.1 객체 생성하기
9.2 프로토타입 상속
9.3 접근자 프로퍼티
9.4 프로퍼티의 속성
9.5 프로퍼티가 있는지 확인하기
9.6 프로퍼티의 열거
9.7 객체 잠그기
9.8 Mixin
9.9 JSON
9.10 ECMAScript 6부터 추가된 객체의 기능
10장 배열의 다양한 기능
10.1 배열의 메서드
10.2 다차원 배열
10.3 유사 배열 객체
10.4 ECMAScript 6의 배열과 새롭게 추가된 기능
11장 버그와 오류에 대처하는 방법
11.1 버그에 대처하기
11.2 예외 처리
12장 정규 표현식
12.1 정규 표현식의 기본
12.2 기본적인 정규 표현식 패턴 작성하기
12.3 패턴 매칭을 하는 문자열 메서드
12.4 RegExp 객체
12.5 ECMAScript 6부터 추가된 정규 표현식의 새로운 기능
13장 웹 브라우저의 객체
13.1 클라이언트 측 자바스크립트
13.2 Location 객체
13.3 History 객체
13.4 Navigator 객체
13.5 Screen 객체
13.6 Document 객체
13.7 창 제어하기
14장 문서 제어
14.1 DOM 트리
14.2 노드 객체 가져오기
14.3 속성 값의 읽기와 쓰기
14.4 HTML 요소의 내용을 읽고 쓰기
14.5 노드 생성/삽입/삭제하기
14.6 HTML 요소의 위치
14.7 HTML 폼
14.8 CSS 제어하기
15장 이벤트 처리
15.1 이벤트 처리기를 등록하는 방법
15.2 이벤트 리스너를 등록하고 삭제하는 방법
15.3 이벤트 객체
15.4 이벤트의 전파
15.5 이벤트 리스너 안의 this
15.6 이벤트 리스너에 추가적인 정보를 넘기는 방법
15.7 커스텀 이벤트
15.8 비동기 처리를 간결하게 작성하는 Promise
15.9 그림판 프로그램 만들기
16장 HTTP 제어(Ajax)
16.1 HTTP 통신
16.2 Ajax
16.3 XMLHttpRequest
16.4 응답 받기
16.5 크로스 오리진 통신
17장 MVC 모델에 기반을 둔 프로그램 설계
17.1 MVC 모델
17.2 생명 게임 시뮬레이터
18장 생성자와 클래스 구문
18.1 생성자
18.2 생성자 상속
18.3 ECMAScript 6의 클래스 구문
19장 API 활용
19.1 드래그 앤 드롭 API
19.2 Blob
19.3 Web Workers
A 부록
A.1 크롬에서 디버깅하기
A.2 자바스크립트 학습용 도서와 웹 사이트
1.1 프로그래밍 언어로서의 자바스크립트
1.2 자바스크립트의 역사
2장 프로그램의 작성법과 실행법
2.1 실습 준비하기
2.2 간단한 예제
2.3 프로그램 실행법
2.4 프로그램 작성법
3장 변수와 값
3.1 변수
3.2 데이터 타입
3.3 ECMAScript 6부터 추가된 데이터 타입
4장 객체와 배열, 함수의 기초
4.1 객체의 기초 ① 객체 리터럴
4.2 함수의 기초
4.3 객체의 기초 ② 생성자
4.4 객체의 기초 ③ 내장 객체
4.5 배열의 기초
5장 표현식과 연산자
5.1 연산자
5.2 산술 연산
5.3 문자열 제어하기
5.4 논리 연산자와 관계 연산자
5.5 비트 연산
5.6 기타 연산
5.7 명시적 타입 변환
6장 웹 브라우저에서의 입출력
6.1 대화상자 표시하기
6.2 console
6.3 이벤트 처리기 등록하기와 타이머 알아보기
6.4 HTML 요소를 동적으로 읽고 쓰기
6.5 Canvas를 활용한 컴퓨터 그래픽스
7장 제어 구문
7.1 제어 구문
7.2 조건문
7.3 반복문
7.4 점프문
7.5 응용 예제
8장 함수
8.1 함수 정의하기
8.2 함수 호출하기
8.3 함수의 인수
8.4 재귀 함수
8.5 프로그램의 평가와 실행 과정
8.6 클로저
8.7 이름 공간
8.8 객체로서의 함수
8.9 고차 함수
8.10 콜백 함수
8.11 ECMAScript 6부터 추가된 함수의 기능
9장 객체
9.1 객체 생성하기
9.2 프로토타입 상속
9.3 접근자 프로퍼티
9.4 프로퍼티의 속성
9.5 프로퍼티가 있는지 확인하기
9.6 프로퍼티의 열거
9.7 객체 잠그기
9.8 Mixin
9.9 JSON
9.10 ECMAScript 6부터 추가된 객체의 기능
10장 배열의 다양한 기능
10.1 배열의 메서드
10.2 다차원 배열
10.3 유사 배열 객체
10.4 ECMAScript 6의 배열과 새롭게 추가된 기능
11장 버그와 오류에 대처하는 방법
11.1 버그에 대처하기
11.2 예외 처리
12장 정규 표현식
12.1 정규 표현식의 기본
12.2 기본적인 정규 표현식 패턴 작성하기
12.3 패턴 매칭을 하는 문자열 메서드
12.4 RegExp 객체
12.5 ECMAScript 6부터 추가된 정규 표현식의 새로운 기능
13장 웹 브라우저의 객체
13.1 클라이언트 측 자바스크립트
13.2 Location 객체
13.3 History 객체
13.4 Navigator 객체
13.5 Screen 객체
13.6 Document 객체
13.7 창 제어하기
14장 문서 제어
14.1 DOM 트리
14.2 노드 객체 가져오기
14.3 속성 값의 읽기와 쓰기
14.4 HTML 요소의 내용을 읽고 쓰기
14.5 노드 생성/삽입/삭제하기
14.6 HTML 요소의 위치
14.7 HTML 폼
14.8 CSS 제어하기
15장 이벤트 처리
15.1 이벤트 처리기를 등록하는 방법
15.2 이벤트 리스너를 등록하고 삭제하는 방법
15.3 이벤트 객체
15.4 이벤트의 전파
15.5 이벤트 리스너 안의 this
15.6 이벤트 리스너에 추가적인 정보를 넘기는 방법
15.7 커스텀 이벤트
15.8 비동기 처리를 간결하게 작성하는 Promise
15.9 그림판 프로그램 만들기
16장 HTTP 제어(Ajax)
16.1 HTTP 통신
16.2 Ajax
16.3 XMLHttpRequest
16.4 응답 받기
16.5 크로스 오리진 통신
17장 MVC 모델에 기반을 둔 프로그램 설계
17.1 MVC 모델
17.2 생명 게임 시뮬레이터
18장 생성자와 클래스 구문
18.1 생성자
18.2 생성자 상속
18.3 ECMAScript 6의 클래스 구문
19장 API 활용
19.1 드래그 앤 드롭 API
19.2 Blob
19.3 Web Workers
A 부록
A.1 크롬에서 디버깅하기
A.2 자바스크립트 학습용 도서와 웹 사이트
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등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |