This document provides an overview of new features introduced in ECMAScript 6 (ES6), including arrow functions, constants and let declarations, template literals, classes, modules, promises, symbols, and more. It explains these features through examples and comparisons to ES5. Key points covered include arrow function syntax, block vs expression bodies, let and const block scoping, default parameters, destructuring, rest and spread operators, tagged template literals, class syntax and inheritance, module imports and exports, symbol use cases for unique keys and constants, and for...of loop iteration vs for...in enumeration.