Для чего нужен оператор двойное двоеточие ( :: ) в javascript?

Собственно весь вопрос в заголовке. На просторах интернета нашел код с использованием двойного двоеточия, до этого нигде подобного не видел.
  • Вопрос задан
  • 9215 просмотров
Решения вопроса 1
miraage
@miraage
Старый прогер
Function bind.

::obj.method => object.method.bind(object)

Только учтите, что Function.prototype.bind всегда возвращает новую функцию.
То есть, следующий код не снимет обработчик

class Foo {
  onInit() {
    this.addListener('ready', ::this.onReady);
  }
  
  onDestroy() {
    this.removeListener('ready', ::this.onReady);
  }
  
  onReady() {
    // не будет снят в removeListener
  }
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Faliah
Похоже вы говорите о сокращенной записи для функции .bind(), которая сейчас входит в ES7 proposal

Вот несколько ссылок:
Статья, описывающая работу оператора и его возможн...
Ответ на SO
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект
22 нояб. 2024, в 22:26
3500 руб./за проект