CoffeeScript は Ruby に似ているところがたくさんあり,Ruby プログラマにも比較的馴染みやすい言語だと思います.たとえば,変数を初期化するのに便利な Ruby の ||= に対して,CoffeeScript にも予想通り or= があります.しかし,CoffeeScript (というか JavaScript)では null や undefined だけでなく 0 や "" (空文字列)も false 扱いなので困ることがあります.そんなときのために,or= のほかに ?= が用意されています.? は CoffeeScript の存在確認演算子で,undefined か null のときにのみ false になります.これで,0 や "" は true 扱いできます.すなわち, undefined? #=> false null? #=> false 0? #=> tru