@crdrads

Синглтон. Чем отличается эти два варианта?

Классический пример такой

const thing = function () {
  function say (message) {
    console.log(message)
  }
  return {
    execute: say
  }
}()


И потом обращаемся thing.execute('hello')

Но ведь можно записать короче

const thing = {
  execute: function (message) {
    console.log(message)
  }
}


Есть ли какая-то разница?
  • Вопрос задан
  • 120 просмотров
Решения вопроса 1
Robur
@Robur
Знаю больше чем это необходимо
не знаю где вы взяли этот "классический" пример. Так можно делать но совсем для других целей - чтобы скрыть переменные от окружающего кода, это подход 2010 года, сейчас для этих целей используются модули. К синглтону это все не имеет отношения.

Именно в данном примере - разницы между этими двумя вариантами нет.

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

Сейчас вы просто можете сделать нормальный класс и использовать как синглтон в "классическом" смысле.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы