Задать вопрос
RazerVG
@RazerVG
Full-stack

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

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

  //...
}
Article.count = 0;
  • Вопрос задан
  • 58 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию
    6 месяцев
    Далее
Решения вопроса 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
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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