Чем оператор «||=» отличается от оператора «?=» в CoffeeScript?

В чем разница между этими двумя? В Ruby я привык apple ||= walrusустанавливать яблоко равным моржу, только если яблоко равно нулю. Похоже, что в JS/CS то же самое, хотя ?= похоже делает то же самое. Что меня смущает, так это:

apple = 0
walrus = 9
apple ?= walrus // outputs 0
apple ||= walrus // outputs 9

wat

15
задан Chris 5 May 2012 в 19:09
поделиться