Как задать статическое свойство внутри функции?

В php есть возможность задать статическое свойство внутри функции, будет ли это аналогом в js ?
function Article() {
  Article.count++;

  //...
}
Article.count = 0;
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Функция в JS это объект, и можно обращаться к его свойствам. Но есть собственные свойства, которые не стоит заменять своими значениями. Например Article.bind, .call, .length – небольшой список зарезервированных свойств.

Есть такой вариант: создавать функцию с нужной переменной окружения, к которой может обращаться только сама функция.
function addLocalProperty(value) {

  let property = value;
  
  return function() {
    property++;
    console.log(property);
  }
}

const fn = addLocalProperty(0);

fn(); // 1
fn(); // 2
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы