Fetch API, CSS Grid Layout, IndexedDB 2.0 и другие обновления Safari

30.03.2017

В новой версии Safari 10.1 добавилась поддержка множества новых фич. Вот только часть из них:

Fetch

Fetch — это современная замена XMLHTTPRequest. Синтаксис Fetch API чище и понятнее, в сравнении с XMLHTTPRequest, а также использует ES6 промисы, что дает возможность удобно обрабатывать запросы.

CSS Grid Layout

CSS Grid Layout предоставляет веб-разработчикам мощный инструмент компоновки страниц на основе сетки строк и столбцов. Это значительный шаг вперед, который позволит создавать сложные, адаптивные проекты без хаков и обходных путей.

ECMAScript 2016 & ECMAScript 2017

В Safari 10.1 добавилась поддержка ECMAScript 2016 и ECMAScript 2017, последних версий стандарта JavaScript. ECMAScript 2016 добавляет два маленьких улучшения, тогда как ECMAScript 2017 несет несколько существенных улучшений.

В ECMAScript 2016 в стандарт языка добавился оператор возведения в степень (x ** y вместо Math.pow(x, y)) и метод Array.prototype.includes, который похож на Array.prototype.indexOf, но может найти в массиве значение NaN.

ECMAScript 2017 добавляет синтаксис async и await, объекты с общей памятью, методы String.prototype.padStart, String.prototype.padEnd, Object.prototype.values, Object.prototype.entries, а также допускает висячую запятую в списке параметров функции.

IndexedDB 2.0

Реализация IndexedDB имеет значительные улучшения в этой версии. Она стала быстрее, совместима со стандартами и поддерживает новые функции IndexedDB 2.0. IndexedDB 2.0 добавляет поддержку двоичных типов данных в качестве индексных ключей.

Кастомные элементы

Кастомные элементы позволяют разработчикам создавать повторно используемые компоненты без зависимости от какого-либо фреймворка JavaScript. Подобно встроенным элементам, пользовательские элементы могут связываться и получать новые значения в своих атрибутах и реагировать на изменения значений атрибутов с помощью функций обратного вызова.

Кроме этого в Safari 10.1 добавилась поддержка валидации форм, Gamepad API, атрибут download у ссылок и многое другое. Посмотреть весь список обновлений можно в блоге WebKit.