@Yaolegol

Что значит « _ » в следующей arrow function: _ => store.shift()?

Всем привет, увидел сегодня на stackoverflow (третий с начала ответ) такой синтаксис _ => store.shift(). Вот код оттуда:

function Stack(...rest){
  var store = [... rest.reverse() ];
  return {
    push:(v)=> store.unshift(v) ,
    pop : _ => store.shift(),
    peek: _ => store[0]
    }
  }
  
var stack = Stack(1,2,3);
console.log(stack.peek());
stack.push(4);
console.log(stack.peek());
stack.pop(), stack.pop();
console.log(stack.peek());


Что значит " _ " это аналог () ? Или параметр этой функции (как например " а ") ? Просто никогда раньше не встречал
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Так записывают неиспользуемую переменную.

Когда в функции не требуется аргумент, экономят 1 символ, чтобы не писать, как положено:
() => somecode;

Линтер такой юмор не оценит и будет ругаться.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@grinat
Да это из go пошло, там если есть много аргументов в функции, и какой-то не используется, то его надо обозначать как _
_, y, _ := coord(p)
потому что если есть неиспользуемые переманные, то программа не скомпилится.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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