Я не буду спорить насчёт правдивости этой статистики, так как у меня нет никаких данных на этот счёт.
Просто отмечу что:
1) Есть другая статистика, который тоже на первых строчках в гугле по запросу «browser statistic»: http://www.w3schools.com/browsers/browsers_explorer.asp
2) Мы в своём продукте (SPA) поддерживаем IE11+ и жалоб пока нет.
Ок, но я не вижу в этом ничего ужасного.
Пусть этот метод не настолько оптимален на сколько мог бы быть, но если профилировщик не показывает что его вызов является узким местом, то почему бы его не использовать.
Кто в здравом уме будет заменять undefined? Разве чтоб намеренно сломать другие скрипты.
Вы предполагаете что в вашей кодовой базе есть сторонние скрипты которые были умышленно написаны так чтобы сломать другие?
А вообще вместо foo !== null || foo !== undefined можно использовать foo != null
Одно из самых эффективных средств – собирать счетчики производительности с интервалом в неделю. Счетчиков реально много, они дают хорошие графики, их можно экспортировать в Excel, производить анализ и т.д. Жалко только, что мы не делали это с самого начала, когда было 5000 работ в неделю.
Также плюсом этого подхода является то, что заказчика очень легко уговорить на это – это встроенная возможность Windows, поэтому уговаривать даже почти не пришлось на запуск сбора статистики.
О чём речь? Где поподробнее про такие счётчики почитать?
Потому что это
1) Не удобно для пользователя
2) Если пишешь для конкретного движка, то ориентируешься только на то что поддерживает этот движок (в данном случае всё весьма свежее). В разы сокращаются затраты на тестирование.
3) Протокол file:// имеет много ограничений.
> Вы избегаете утечек памяти без ручного учета ссылок – думайте о WeakMap как об IDisposable в .NET.
весьма натянутое сравнение на мой взгляд. Всё же в .NET есть намного более близкий аналог: WeakReference
Да почему, typescript это расширение стандарта и главная задача компилятора typescript сделать из нестандартного кода стандартный (хотя компилятор имеет небольшое количество фич es6 -> es5, их добавляют аккуратно).
Babel же это инструмент задача которого из кода написанного по стандарту es2015 сделать код совместимый с предыдущем стандартом, так что выглядит всё корректно.
Просто отмечу что:
1) Есть другая статистика, который тоже на первых строчках в гугле по запросу «browser statistic»: http://www.w3schools.com/browsers/browsers_explorer.asp
2) Мы в своём продукте (SPA) поддерживаем IE11+ и жалоб пока нет.
Пусть этот метод не настолько оптимален на сколько мог бы быть, но если профилировщик не показывает что его вызов является узким местом, то почему бы его не использовать.
Не могли бы рассказать об этом подробнее?
Вы предполагаете что в вашей кодовой базе есть сторонние скрипты которые были умышленно написаны так чтобы сломать другие?
А вообще вместо foo !== null || foo !== undefined можно использовать foo != null
Не надо представлять: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/jquery/jquery.d.ts
Да ладно? Ну вот зачем например jquery в angular2 приложении?
О чём речь? Где поподробнее про такие счётчики почитать?
1) Не удобно для пользователя
2) Если пишешь для конкретного движка, то ориентируешься только на то что поддерживает этот движок (в данном случае всё весьма свежее). В разы сокращаются затраты на тестирование.
3) Протокол file:// имеет много ограничений.
весьма натянутое сравнение на мой взгляд. Всё же в .NET есть намного более близкий аналог: WeakReference
Babel же это инструмент задача которого из кода написанного по стандарту es2015 сделать код совместимый с предыдущем стандартом, так что выглядит всё корректно.