Он устанавливает новую переменную (z
) как значение x
, если оно «правдиво» (отличное от нуля, действительный объект / массив / функция / что бы это ни было) или y
в противном случае. Это относительно распространенный способ предоставления значения по умолчанию в случае, если x
не существует.
Например, если у вас есть функция, которая принимает необязательный параметр обратного вызова, вы можете предоставить обратный вызов по умолчанию, который не работает ничего не делать:
function doSomething(data, callback) {
callback = callback || function() {};
// do stuff with data
callback(); // callback will always exist
}