ECMAScript
European Computer Manufacturers Association - асоціація, що займається стандартизацією інформаційних та комунікаційних технологій
ECMAScript (ES) - стандарт мови програмування
JavaScrip - найпопулярніша реалізація стандарту
JScript - InternetExplorer
ActionScript - Adobe Flash Player
Mo - 1995 Mocha (Мокха) - мова, яка підтримує різні стилі програмування
LS - 1995 LiveScript - красиво
JS - 1995 JavaScript - брат найкрутішої мови того часу, заманює програмістів у ВЕБ
ES1 - 1997 - JS стандартизувався і відкрилися світу, через конкуренцію з JScript
ES2 - 1998
ES3 - 1998
===
regex
try/catch
ES4 - (E4X) Атаки Майкрософта
ES5 - 2009
Директива "use strict"; - не об'явленні змінні та небезпечні функції будуть виводитися в консолі...
String.trim(" А Б В ") = "А Б В"
Array.isArray(Array) = true
Array.forEach(F) function F(value){txt += value + "<br>";};
Array.map(F) function F(value, index, array) {return value*2;};
Array.filter(F) function F(value) {return value > 10;}
Array.reduce(F) function F(total, value, index, array) {return total + value;}
Array.reduceRight(F) function F(total, value) {return total + value;}
Array.every(F) = true (усі) function F(value, index, array) {return value > 18;}
Array.some(F) = true (хоч 1) function F(value) {return value > 18;}
Array.indexOf("Андрій") = 3
Array.lastIndexOf() = 3
obj = JSON.parse('{"name":"Андрій", "age":30}') obj. name = "Андрій";
JSON.stringify(obj) - перетворити в рядок усі поля
Date.now(); 1585905670681 мілісекунд з 1.01.1970
get lang() {return this.language}
set lang(value) {this.language = value}
var person = {Name: "Андрій", language : "NO",} - змінити властивість
Object.defineProperty(person, "language", {value: "UKR", writable : true, enumerable : true, configurable : true})
ES6 - 2015
let, const
ES5 - var x = function(x, y) {return x * y;}
ES6 - const x = (x, y) => x * y; // з const більш безпечно
Об'явлення класу в звичний спосіб class Car { constructor(brand) {this.carname = brand;} } mycar = new Car("Tesla");
function F(x, y = 10) - типове значення
Array.find(F); function F(value, index, array) {return value > 18;} повертає перше число, яке більше 18
Array.findIndex(F); function F(value, index, array) {return value > 18;} повертає індекс, дек число більше 18
Number.EPSILON
Number.MIN_SAFE_INTEGER
Number.MAX_SAFE_INTEGER
Number.isInteger(1.5) = false Number.isSafeInteger(1) = true
isFinite(10/0) = false
isFinite(10/1) = true
isNaN("Hello") = false
ES7 - 2016
5 ** 2 = 25 (як Math.pow(5,2))
Array.includes(2) = true
ES8 - 2017
async/await
доповнення до RegExp
F1(a,b,c,)
'abc'.padStart(10) = ' abc'
'abc'.padEnd(10) = 'abc '
const object1 = {property1: 42}; const descriptors1 = Object.getOwnPropertyDescriptors(object1); descriptors1.property1.writable = true descriptors1.property1.value) = 42
Об'єкт Atomics для роботи в потоках