Обекти и прототипи
В този раздел ще разгледаме нововъведения, които се отнасят конкретно до обектите.
По клас - малко по-късно, в отделен раздел, той го заслужава.
Кратко свойство
Често имаме променливи като name и isAdmin и искаме да ги използваме в обекта.
Изчислени свойства
Можете да използвате израз като име на свойство, например:
Getter setter за прототип
ES5 имаше метод за получаване на прототипа:
ES-2015 също добави сетер:
И също така свойството __proto__ е "легализирано", което дава директен достъп до прототипа. Почти всички браузъри (с изключение на IE10-) го внедриха като "нестандартен", но удобен начин за работа с прототипа, така че беше решено да го добавите към стандарта.
Обект.присвояване
Функцията Object.assign получава списък с обекти и копира свойствата от останалите към първата цел.
В този случай следващите свойства заместват предишните.
Може да се използва и за клониране на обект на 1 ниво:
Object.is (стойност1, стойност2)
Нова функция за проверка на равенството на стойността.
Връща true, ако value1 и value2 са равни, false в противен случай .
Подобно е на нормалното строго равенство ===, но има разлики:
Тези разлики не са критични в повечето ситуации, така че не изглежда, че тази функция ще замести обичайната проверка ===. Интересното е, че този алгоритъм за сравнение, наречен SameValue, се използва във вътрешни реализации на различни съвременни стандартни методи.
Обектни методи
Това вече не е така. Добавени са „обектните методи“, които всъщност са свойства-функции, свързани с обекта.
Можете също така да посочите метод с изчислено име:
И така, обхванали сме синтактични подобрения. Накратко, не е нужно да пишете думата „функция“. Сега да преминем към други разлики.