soak operatorというものを使うとnullを安全に扱えるようになる。
例
hoge = null
console.log hoge
# 値が代入されているかチェック(nullの場合はfalse)
console.log hoge?
# 値が代入されていない場合の初期値を返す
console.log hoge ? 'nullだよ'
# 初期値を代入(?=で値が未設定時の初期値を代入できる)
hoge ?= '初期値'
console.log hoge
# 値が設定されている場合は変わらない
hoge ?= '値は変わらない'
console.log hoge
JavaScriptへの変換結果
JavaScriptへ変換した結果。if文でうまいことnullが考慮されている。
// Generated by CoffeeScript 1.6.3
(function() {
  var hoge;
  hoge = null;
  console.log(hoge);
  console.log(hoge != null);
  console.log(hoge != null ? hoge : 'nullだよ');
  if (hoge == null) {
    hoge = '初期値';
  }
  console.log(hoge);
  if (hoge == null) {
    hoge = '値は変わらない';
  }
  console.log(hoge);
}).call(this);