JS 튜토리얼

제이에스 홈 JS 소개 JS 어디로 JS 출력 JS 문 JS 구문 JS 코멘트 JS 변수 제이에스렛 JS 상수 JS 연산자 JS 산술 JS 할당 JS 데이터 유형 JS 함수 JS 객체 JS 이벤트 JS 문자열 JS 문자열 메서드 JS 문자열 검색 JS 문자열 템플릿 JS 번호 JS 숫자 메서드 JS 배열 JS 배열 메서드 JS 배열 정렬 JS 배열 반복 JS 배열 상수 JS 날짜 JS 날짜 형식 JS 날짜 가져오기 메서드 JS 날짜 설정 방법 JS 수학 JS 랜덤 JS 부울 JS 비교 JS 조건 JS 스위치 JS 루프 In에 대한 JS 루프 의 JS 루프 JS 루프 동안 JS 브레이크 JS 이터러블 JS 세트 JS 맵 JS 유형 JS 유형 변환 JS 비트와이즈 JS 정규 표현식 JS 오류 JS 범위 JS 호이스팅 JS 엄격 모드 JS 이 키워드 JS 화살표 함수 JS 클래스 JS JSON JS 디버깅 JS 스타일 가이드 JS 모범 사례 JS 실수 JS 성능 JS 예약어

JS 버전

JS 버전 JS 2009(ES5) JS 2015(ES6) JS 2016 JS 2017 JS 2018 JS IE / 엣지 JS 연혁

JS 객체

객체 정의 개체 속성 개체 메서드 개체 표시 개체 접근자 객체 생성자 개체 프로토타입 객체 반복 가능 객체 세트 객체 맵 개체 참조

JS 함수

기능 정의 기능 매개변수 함수 호출 함수 호출 기능 적용 함수 클로저

JS 클래스

수업 소개 클래스 상속 클래스 정적

JS 비동기

JS 콜백 JS 비동기 JS 약속 JS 비동기/대기

JS HTML DOM

DOM 소개 DOM 메서드 DOM 문서 DOM 요소 DOM HTML DOM 양식 DOM CSS DOM 애니메이션 DOM 이벤트 DOM 이벤트 리스너 DOM 탐색 DOM 노드 DOM 컬렉션 DOM 노드 목록

JS 브라우저 BOM

JS 창 JS 화면 JS 위치 JS 연혁 JS 네비게이터 JS 팝업 경고 JS 타이밍 JS 쿠키

JS 웹 API

웹 API 소개 웹 양식 API 웹 기록 API 웹 스토리지 API 웹 작업자 API 웹 가져오기 API 웹 지리적 위치 API

JS 아약스

AJAX 소개 AJAX XMLHttp AJAX 요청 AJAX 응답 AJAX XML 파일 AJAX PHP AJAX ASP AJAX 데이터베이스 AJAX 애플리케이션 AJAX 예제

JS JSON

JSON 소개 JSON 구문 JSON 대 XML JSON 데이터 유형 JSON 구문 분석 JSON 문자열화 JSON 객체 JSON 배열 JSON 서버 JSON PHP JSON HTML JSON JSONP

JS 대 jQuery

jQuery 선택기 제이쿼리 HTML 제이쿼리 CSS 제이쿼리 DOM

JS 그래픽

JS 그래픽 JS 캔버스 JS 플로틀리 JS 차트.js JS 구글 차트 JS D3.js

JS 예제

JS 예제 JS HTML DOM JS HTML 입력 JS HTML 객체 JS HTML 이벤트 JS 브라우저 JS 편집기 JS 연습 JS 퀴즈 JS 인증서

JS 참조

자바스크립트 객체 HTML DOM 객체


ECMA스크립트 2018

JavaScript 명명 규칙은 ES1, ES2, ES3, ES5 및 ES6에서 시작되었습니다.

그러나 ECMAScript 2016 및 2017은 ES7 및 ES8이라고 하지 않았습니다.

2016년부터 새 버전의 이름은 연도별로 지정됩니다(ECMAScript 2016/2017/2018).

ECMAScript 2018의 새로운 기능

이 장에서는 ECMAScript 2018의 새로운 기능을 소개합니다.


자바스크립트 비동기 반복

ECMAScript 2018에는 비동기식 반복자와 반복 가능한 항목이 추가되었습니다.

비동기식 이터러블을 사용하면 루프 에서 await 키워드를 사용할 수 있습니다.for/of

예시

for await () {}

Firefox와 Safari는 JavaScript 비동기 반복을 지원하는 최초의 브라우저였습니다.

Chrome 63 Edge 79 Firefox 57 Safari 11 Opera 50
Dec 2017 Jan 2020 Nov 2017 Sep 2017 Jan 2018

자바스크립트 약속.finally

ECMAScript 2018은 다음을 사용하여 Promise 객체의 전체 구현을 마무리합니다 Promise.finally.

예시

let myPromise = new Promise();

myPromise.then();
myPromise.catch();
myPromise.finally();

Chrome 및 Firefox는 다음을 지원하는 최초의 브라우저였습니다 Promise.finally.

Chrome 63 Edge 18 Firefox 58 Safari 11.1 Opera 50
Dec 2017 Nov 2018 Jan 2018 Mar 2018 Jan 2018


JavaScript 객체 나머지 속성

ECMAScript 2018은 나머지 속성을 추가했습니다.

이를 통해 객체를 파괴하고 남은 재료를 새 객체에 수집할 수 있습니다.

예시

let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
x; // 1
y; // 2
z; // { a: 3, b: 4 }

Chrome, Firefox 및 Opera는 객체 레스트 속성을 지원하는 최초의 브라우저였습니다.

Chrome 60 Edge 79 Firefox 55 Safari 11.1 Opera 47
Jul 2017 Jan 2020 Aug 2017 Mar 2018 Aug 2017

새로운 JavaScript RegExp 기능

ECMAScript 2018에는 4개의 새로운 RegExp 기능이 추가되었습니다.

  • 유니코드 속성 이스케이프(\p{...})
  • 룩비하인드 어설션(?<= ) 및 (?<! )
  • 명명된 캡처 그룹
  • s(dotAll) 플래그

Chrome과 Firefox는 모든 새로운 RegExp 기능을 지원하는 최초의 브라우저였습니다.

Chrome 64 Edge 79 Firefox 78 Safari 12 Opera 51
Jan 2018 Jan 2020 Jun 2020 Sep 2018 Feb 2018