간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (36,770원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (27,090원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (30,960원)
(최대할인 4만원 / 2만원 이상 결제)
Close

웹 개발자를 위한 자바스크립트의 모든 것 : ES2015-ES2020과 그 이후의 모든 것

원제 : JavaScript
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 96
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

43,000원

  • 38,700 (10%할인)

    2,150P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
배송정보
  • 2/9(목) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서

  • 상품권

AD

책소개

자바스크립트의 모든 것을
깊이 있게, 알기 쉽게!

웹 전성시대가 되면서 자바스크립트는 변두리 언어에서 핵심 언어로 부상했다. 많은 사람들이 쓰는 언어가 되면서 프런트엔드에서 백엔드까지 영역을 넓혀왔고, 이는 자바스크립트에 다양한 요구를 하는 계기가 되었다.
자바스크립트는 과거보다 현재 더 빠르게 변화하고 성장하는 언어가 되었고, ES2015부터 ES2020까지 매우 빠르게 발전하고 새로운 기능을 추가해왔다. 오랜 자바스크립트 개발자는 기존의 관습이 익숙해서 새로운 기능에 적응하지 못하고, 새로 입성한 자바스크립트 개발자는 구버전과 신버전 사이에서 혼란을 겪는다.
스택 오버플로에서 자바스크립트 분야 상위 열 명 중에 한 명인 크라우더는 십여 년 이상 개발자들의 질문에 답변하면서 이러한 혼란을 잘 이해하고 있으며, 오랜 습관이 무엇인지, 오래된 습관을 새로운 기능으로 바꾸려면 무엇을 해야 하는지 잘 이해하고 있다.

[이 책의 주요 내용]
ㆍ ES2015-ES2020에 추가된 기능과 ES2021에 담기게 될 기능
ㆍ 자바스크립트의 최신 문법. 널 병합 연산자, let과 const, class 문법, private 메서드와 필드, new.target, 화살표 함수, BigInt, async와 await, 제너레이터 함수, 디스트럭처링, 템플릿 리터럴, 공유 메모리, 리플렉션, 위크레프, for-of, for-await-of 등을 설명한다.
ㆍ 새로운 기능과 패턴, 안티 패턴. 모듈, 이터레이션, 제너레이터, 프라미스, 심볼, 프록시, 리플렉션, 위크맵, 위크세트, Atomics 객체, 공유 메모리 등의 기능과 사용 패턴, 주의할 점, 오래된 습관에서 새로운 기능으로 바꾸는 방법을 설명한다.
ㆍ 자주 하는 실수와 개선하는 방법
ㆍ 널리 지원되지 않는 새로운 기능을 사용하는 방법

자바스크립트를 사용하다가 막히는 부분이 있다면 인터넷 어딘가에 숨어 있는 정보를 찾아서 해결할 수도 있다. 그러나 폭넓은 설명과 깊이, 내가 무엇을 모르는지도 모르는 것을 알게 해줄 풍부한 지침서를 찾는다면 이 책이라고 할 수 있다. 깊이 알면 내가 더 깊어진다.

[관련도서]
리팩토링 자바스크립트
리액트 네이티브를 다루는 기술
Node.js 교과서 개정2판

목차

1장 ES2015부터 ES2020까지 그리고 그 이후의 새로운 장난감
__1.1 정의, 이해관계자, 용어
__1.2 “새로운 장난감”은 무엇인가?
__1.3 새로운 장난감은 어떻게 만들어지는가?
__1.4 새로운 장난감을 따라가기
__1.5 오늘의 장난감을 과거의 환경에서, 내일의 장난감을 오늘의 환경에서 사용하기
__1.6 정리하며

2장 블록 스코프 선언: let과 const
__2.1 let과 const 소개
__2.2 진짜 블록 스코프
__2.3 반복된 선언은 에러다
__2.4 호이스팅과 일시적 데드존
__2.5 새로운 종류의 전역(global)
__2.6 const: 자바스크립트의 상수
__2.7 루프의 블록 스코프
__2.8 과거 습관을 새롭게

3장 새로운 함수 기능
__3.1 화살표 함수와 this, super, 그 외
__3.2 기본값 매개변수
__3.3 “나머지” 연산자
__3.4 매개변수 목록에서 후행 쉼표와 함수 호출
__3.5 함수 name 속성
__3.6 블록 내 함수 선언
__3.7 과거 습관을 새롭게

4장 클래스
__4.1 클래스란 무엇인가?
__4.2 새로운 클래스 문법 소개
__4.3 기존 문법과 비교
__4.4 서브클래스 만들기
__4.5 Object.protoype 떠나보내기
__4.6 new.target
__4.7 클래스 선언 대 클래스 표현식
__4.8 앞으로 더 배울 것
__4.9 과거 습관을 새롭게

5장 새로운 객체 기능
__5.1 계산된 속성 이름
__5.2 단축 속성
__5.3 객체의 프로토타입 얻기와 설정하기
__5.4 메서드 문법과 super 외부 클래스
__5.5 심볼
__5.6 새로운 객체 함수
__5.7 Symbol.toPrimitive
__5.8 속성 순서
__5.9 속성 스프레드 구문
__5.10 과거 습관을 새롭게

6장 이터러블, 이터레이터, for-of, 이터러블 스프레드, 제너레이터
__6.1 이터레이터, 이터러블, for-of 루프, 이터러블 스프레드 구문
__6.2 제너레이터 함수
__6.3 과거 습관을 새롭게

7장 디스트럭처링
__7.1 개요
__7.2 기본 객체 디스트럭처링
__7.3 기본 배열(과 이터러블) 디스트럭처링
__7.4 기본값
__7.5 디스트럭처링 패턴에서 나머지 문법
__7.6 다른 이름 사용하기
__7.7 계산된 속성 이름
__7.8 중첩된 디스트럭처링
__7.9 매개변수 디스트럭처링
__7.10 반복문에서 디스트럭처링
__7.11 과거 습관을 새롭게

8장 프라미스
__8.1 왜 프라미스를 사용하는가?
__8.2 프라미스 기초
__8.3 기존 프라미스 사용하기
__8.4 기존 프라미스에 핸들러 추가하기
__8.5 프라미스 만들기
__8.6 그 외 프라미스 메서드
__8.7 프라미스 패턴
__8.8 프라미스 안티 패턴
__8.9 프라미스 서브클래스
__8.10 과거 습관을 새롭게

9장 비동기 함수, 이터레이터, 제너레이터
__9.1 async 함수
__9.2 비동기 이터레이터, 이터러블, 제너레이터
__9.3 과거 습관을 새롭게

10장 템플릿, 태그 함수, 새로운 문자열 함수
__10.1 템플릿 리터럴
__10.2 향상된 유니코드 지원
__10.3 반복
__10.4 새로운 문자열 메서드
__10.5 match, split, search, replace 메서드 업데이트
__10.6 과거 습관을 새롭게

11장 새로운 배열 함수, 타입이 있는 배열
__11.1 새로운 배열 메서드
__11.2 반복, 스프레드, 디스트럭처링
__11.3 배열 순서 유지 정렬
__11.4 타입이 있는 배열
__11.5 과거 습관을 새롭게

12장 맵과 세트
__12.1 맵
__12.2 세트
__12.3 위크맵
__12.4 위크세트
__12.5 과거 습관을 새롭게

13장 모듈
__13.1 모듈 소개
__13.2 모듈 기초
__13.3 익스포트를 다시 이름 짓기
__13.4 다른 모듈의 익스포트를 다시 익스포트하기
__13.5 임포트를 다시 이름 짓기
__13.6 모듈의 네임스페이스 객체 임포트하기
__13.7 다른 모듈의 네임스페이스 객체 익스포트하기
__13.8 단지 사이드 이펙트를 위해 모듈 임포트하기
__13.9 임포트와 익스포트 엔트리
__13.10 임포트는 살아있고 읽기 전용이다
__13.11 모듈 인스턴스는 영역 전용이다
__13.12 어떻게 모듈을 읽어 오는가?
__13.13 임포트/익스포트 문법을 정리하며
__13.14 동적 임포트
__13.15 트리 셰이킹
__13.16 번들링
__13.17 메타데이터 임포트하기
__13.18 워커 모듈
__13.19 과거 습관을 새롭게

14장 리플렉션-리플렉트와 프록시
__14.1 리플렉트
__14.2 프록시
__14.3 과거 습관을 새롭게

15장 정규 표현식 업데이트
__15.1 플래그 속성
__15.2 새로운 플래그
__15.3 명명된 캡처 그룹
__15.4 후방 탐색 지정
__15.5 유니코드 기능
__15.6 과거 습관을 새롭게

16장 공유 메모리
__16.1 소개
__16.2 위험! 이곳에는 용이 살고 있다!
__16.3 브라우저 지원
__16.4 공유 메모리 기초
__16.5 객체가 아니라 메모리가 공유된다
__16.6 레이스 컨디션, 비순차 저장, 신선하지 않은 값, 찢어짐 등
__16.7 Atomics 객체
__16.8 공유 메모리 예
__16.9 이곳에는 용이 살고 있다! (한 번 더)
__16.10 과거 습관을 새롭게

17장 그 외
__17.1 BigInt
__17.2 새로운 정수 리터럴
__17.3 새로운 수학 메서드
__17.4 지수 연산자(**)
__17.5 Date.prototype.toString 변경
__17.6 Function.prototype.toString 변경
__17.7 숫자 추가
__17.8 Symbol.isConcatSpreadable
__17.9 다양한 구문 수정
__17.10 다양한 표준 라이브러리 / 전역 추가
__17.11 부속서 B: 브라우저 전용 기능
__17.12 꼬리 호출 최적화
__17.13 과거 습관을 새롭게

18장 예정된 클래스 기능
__18.1 퍼블릭과 프라이빗 클래스 필드, 메서드, 접근자
__18.2 과거 습관을 새롭게

19장 앞으로 나올 예정인 기능
__19.1 최상위 수준 await
__19.2 위크레프와 클린업 콜백
__19.3 정규 표현식 일치 색인
__19.4 String.prototype.replaceAll
__19.5 Atomics asyncWait
__19.6 다양한 구문 변경
__19.7 사라지게 될 레거시 정규 표현식 기능
__19.8 독자에게 감사!

부록 A 신비한 기능 사전(J. K. 롤링에게 사과한다)
A.1 기능(알파벳순)
A.2 새로운 기본
A.3 새로운 구문, 키워드, 연산자, 루프, 그 외
A.4 새로운 리터럴 양식
A.5 표준 라이브러리 추가와 변경
A.6 기타

본문중에서

[역자 서문]
오랜 기간 느리게 변화하던 자바스크립트가 폭발적으로 빠르게 변화하기 시작했습니다. 마치 자고 일어나면 옆자리 동료가 한 번도 본 적 없는 자바스크립트 코드를 짜고 있는 것만 같았습니다. 빠르게 변하는 표준을 따라가기 위해 블로그를 읽어 보지만, 한 가지 기능에 대한 단편적인 설명만 있으니 이게 전부인지 알 수 없었습니다. ECMA-262 명세서를 읽자니 무슨 말을 하는 것인지도 모르겠고, 내용을 이해하기도 쉽지 않았습니다. 게다가 명세서는 꾸준하게 새 버전이 나옵니다. 심지어 명세서에 포함되지 않은 기능을 이미 사용하고 있을 때도 있습니다. 바로 제안 단계에 있는 기능입니다.
이 책은 ES2015부터 ES2020까지 자바스크립트의 추가 사항과 아직은 포함되지 않은 기능에 대한 미리보기를 다룹니다. 최신 구문에는 널 병합 연산, 옵셔널 체이닝, let과 const, 클래스 구문, 프라이빗 메서드, 프라이빗 필드, new.target, 숫자 구분 기호, BigInt, 디스트럭처링, 기본값 매개변수, 화살표 함수, 비동기 함수, await, 제너레이터 함수, ...(나머지와 스프레드), 템플릿 리터럴, 이진 및 8진 리터럴, **(지수 연산자), 계산된 속성/메서드 이름, for-of, for-await-of, 단축 속성 등과 모듈, 프라미스, 이터레이터와 이터러블, 심볼, 프록시, 리플렉션, 타입이 있는 배열, 원자적 연산, 공유 메모리, 위크맵과 위크세트가 있습니다.
새로운 기능은 개발자의 생산성과 표현력에 새로운 세계를 열어 주었습니다. 클래스 구문으로는 훨씬 간단하고 선언적인 구문으로 객체를 생성할 수 있고, 비동기 함수 덕분에 “콜백 지옥”에서 벗어날 수 있었습니다. 디스트럭처링을 통해서는 객체나 배열 리터럴과 유사하게 간결한 방식으로 배열/객체에서 값을 쉽게 선택할 수 있고 나머지 구문을 통해 객체 속성이나 함수 인수의 개수에 대해 신경을 덜 써도 됩니다. 이 외에도 함수를 호출할 때 인수 목록에 후행 쉼표를 허용한다던가 새로운 스타일의 8진수 리터럴, 이진수 리터럴, 숫자 표기 시 구분 문자, 정규 표현식 개선, 표준 라이브러리 추가, 심볼, BigInt를 비롯한 수많은 기능으로 개발자의 편의성을 높여 주었습니다.
이 책은 자바스크립트를 막 시작한 사람을 위한 소개용 책은 아닙니다. 하지만 처음부터 끝까지 읽어도 되고 잠시 서가에 놔두며 오래된 자바스크립트로 작업하다가 어딘가에서 새롭고, 익숙하지 않은 구문을 볼 때마다 필요한 내용을 참조할 수 있습니다. 어떤 방식으로 읽든 각 장마다 일반적인 함정을 강조하고 이를 피하는 방법을 설명하는 “과거 습관을 새롭게” 절에서 가장 많은 깨달음을 얻을 수 있을 겁니다. 여기에는 새 기능을 사용해야 하는 경우와 사용하지 말아야 하는 경우에 대한 조언도 있습니다. 자바스크립트의 환경 속에서 메모리나 구조가 어떻게 동작하는지를 보여주는 그림을 통해서 자바스크립트 문법뿐 아니라 실제 인터프리터/컴파일러의 동작 원리에 대해서도 알 수 있습니다.
이 책을 통해 자바스크립트가 어떤 과정을 통해 제안에서 명세가 되는지, 지금까지 어떤 변화가 있었고 앞으로 어떤 변화가 있을지, 어떻게 그 변화를 따라갈지 알 수 있습니다. 당장 모든 코드를 새로운 코드로 바꿀 필요는 없지만 조금씩 적용하다 보면 자바스크립트가 과거의 언어가 아니라는 점을 깨닫고 다양한 편의 기능에 자바스크립트의 매력에 빠져들게 될 것입니다. 이제 누구를 만나도 자바스크립트가 어떻게 발전하고 있는지를 토의할 수 있게 되기를 바랍니다.
끝으로 낳아주시고 길러주신 부모님, 밤낮으로 던지는 난해한 번역 용어에 대해 같이 토론해 준 개발자 동료들, 함께 사람 사이의 더 나은 연결을 꿈꾸고 있는 컨스택츠팀 동료들, 부족한 점이 많은 초보 역자의 실수에도 올바른 길로 이끌어 주신 길벗 출판사 한동훈 부장님께 감사드립니다.
_조현석

관련이미지

저자소개

T. J. 크라우더 [저] 신작알림 SMS신청
생년월일 -

30년의 전문 경력을 가진 소프트웨어 엔지니어로서 경력의 절반 이상은 자바스크립트를 사용하여 작업했다. 영국의 소프트웨어 컨설팅과 제품 회사인 파사이트 소프트웨어를 운영하고 있다. 스택 오버플로우의 상위 10위 기여자 중 한 명이자 자바스크립트 태그의 상위 기여자로서, 지식을 전달하는 것뿐만 아니라 문제를 해결하는 과정과 함께 도움을 주는 데 중점을 두고 자신이 배운 기술을 사용하여 다른 사람들이 직면한 기술적인 문제를 해결하는 것을 좋아한다.

조현석 [역] 신작알림 SMS신청
생년월일 -

컨스택츠에서 안부를 묻는 글로벌 소셜 네트워크 서비스를 만들고 있다. 다양한 분야에 관심이 있고 한번 궁금한 것은 못 참기 때문에 고생을 사서 하는 편이다. 한양대학교 융합전자공학부를 졸업했고 카카오, AB180, 11번가 등에서 일했다.

전공도서/대학교재 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    100자평

    작성시 유의사항

    평점
    0/100자
    등록하기

    100자평

    0.0
    (총 0건)

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    상호

    (주)교보문고

    대표자명

    안병현

    사업자등록번호

    102-81-11670

    연락처

    1544-1900

    전자우편주소

    callcenter@kyobobook.co.kr

    통신판매업신고번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    (주) 인터파크 안전결제시스템 (에스크로) 안내

    (주)인터파크의 모든 상품은 판매자 및 결제 수단의 구분없이 회원님들의 구매안전을 위해 안전결제 시스템을 도입하여 서비스하고 있습니다.
    결제대금 예치업 등록 : 02-006-00064 서비스 가입사실 확인

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시, 1만 원 이상 무료, 1만원 미만 2천 원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용