Как установить значения по умолчанию для параметров функции на JavaScript

Мне нужно создать функцию на JavaScript, где некоторые параметры будут необязательными. Я хочу, чтобы при отсутствии аргументов использовались значения по умолчанию.

В Ruby такую задачу можно решить так:

def read_file(file, delete_after = false)
  # код
end

Это возможно сделать аналогично в JavaScript?

function read_file(file, delete_after = false) {
  // Код
}

Будет ли это работать в современных версиях браузеров? Есть ли другие варианты для задания значений по умолчанию?

Можешь использовать деструктуризацию объектов для именованных параметров. Пример: function read_file({file, delete_after = false}) {} и вызов read_file({file: 'test.txt'}). Отлично работает когда параметров много или порядок неважен. Какой у тебя случай использования?

Да, твой ES6 синтаксис отлично работает в современных браузерах. Поддерживается везде кроме старого IE. Раньше писали delete_after = delete_after || false или проверяли typeof delete_after === 'undefined'. Сейчас твой вариант лучше - читается проще и корректно работает с null и 0.

Твой синтаксис отлично работает! Можешь ещё попробовать ?? оператор для точного контроля - delete_after = delete_after ?? false. Он срабатывает только на null или undefined, но пропускает 0 и пустые строки. Супер удобно когда надо различать эти случаи. Для старых браузеров babel всё равно транспилирует в обычные проверки.