Кристина, могу добавить, что в случае (event) => this.check(event)
this берется из лексического окружения анонимной функции в момент ее создания, т.е. на this указывает на экземлпяр MyClass
Кристина, this.check указывает нам на свойство объекта check. В нем хранится указатель на функцию. Если будет addEventListener('click', this.check), мы просто отдадим в параметр этот указатель на функцию , т.е. набор инструкций где-то в памяти. В этих инструкциях this это просто обозначение, указатель на текущий контекст.
Когда event произойдет, функция (напоминаю, просто набор инструкций) по адресу this.check будет вызвана, контекстом для нее будет уже элемент, на котором сработало событие.
Если мы используем bind. он вернет нам специальную функцию, которая не воспринимает контекст выполнения, а использует свой собственный, определенный при ее создании (аргумент в bind).
Сделав this.check.bind(this) получаем спецфункцию, контекст которой будет совпадать с текущим, мы передали this в bind, this у нас это экземляр MyClass
Однако, сейчас браузерной поддержки почти нет. Поэтому ES-модули используются в сочетании с системами сборки, такими как webpack, brunch и другими, при подключённом Babel.JS. Мы рассмотрим это далее.
Funny_Cat, потому что Dog.prototype = new Mammal()
// и Cat.prototype = new Mammal();
это два разных объекта, они не равны друг другу. Каждый new создает ссылку на новый объект.
и Dog.prototype получается не тот же самый, что и cat1.__proto__.__proto__ , хоть и похож.
Алёна Хреновская,
1. в данном случае вы формируете новый объект с данными формами и отправляете его в событие при каждом изменении формы. Тут нужно определить для себя нужно это или нет, и вообще в какие моменты мы хотим получить данные.
2. @Output() onChangedForm = new EventEmitter<any>();
В стайлгайде Ангуляра не рекомендуют называть события начиная с on. С on обычно называются методы-обработчики событий. У вас хорошим и понятным названием будет @Output() formChanges
3. Данные формы лучше типизировать, создать интерфейс, описывающий какие данные получаем из формы
angelzzz, да, действительно, не все браузеры понимают этот произвольный формат, да и не обязаны.
Можно воспользоваться популярной библиотекой moment.js jsfiddle.net/bx0ft5r7/2
А что такое DatePipe вы узнаете из документации к Angular
Сергей, ну это же ответ на ваш вопрос. Хотя результаты странные, пусть и повторяемые.
вот свой сделал. на ваших массивах из 100 элементах jsfiddle.net/bs4q2uyz/4
Честно говоря я в растерянности, потому что пару месяцев назад результат был противоположным, старый добрый for всех рвал и большим отрывом.
А это говорит нам о том, что такая оптимизация в мелочах бесполезна, ибо будет похоронена особенностями движков, даже разных версий.
"работает непосредственно с элементами массива" - это лишь видимость, на практике это набор инструкций, работающий с адресами в памяти, вычисление адресов будет примерно одинаковым.
А что касается Array.prototype.forEach.call, выше ответили, если [] то в памяти создается пустой объект, из прототипа которого берется функция forEach. Потом этот объект будет удален сборщиком мусора.
в случае Array.prototype.forEach.call мы вызываем сразу саму функцию опосредованно через call. Разница исчезающе мала.
Какие элементы? jwt сопровождает все запросы, которые требуют авторизации, ну т.е. чтобы определить от кого пришел запрос.
Jwt расшифровывается и там написано что это от Васи и он имеет право запросить все интим фото пользователей. Даже в базу лезть лишний раз не нужно.
А что именно записано в jwt. сервер определил для себя ранее.