2012年11月4日日曜日

CoffeeScriptで値の比較

JavaScriptで値の変換をするときは、型まで完全に一致していることを保証するために「===」や「!==」を使用します。
CoffeeScriptでは、JavaScriptで推奨されない(暗黙の型変換が行われるため)「==」と「!=」が、型まで完全に一致していることをチェックしてくれます。また、「==」と「!=」のエイリアスとして「is」と「isnt」があるので英文のように比較を行うこともできます。

サンプル

console.log(0 == 0) # true
console.log(0 is 0) # true

console.log(0 != 0)   # false
console.log(0 isnt 0) # false

userName = 'hoge fuga'
console.log(userName == 0) # false
console.log(userName is 0) # false
console.log(userName is 'hoge fuga') # true
console.log(userName is 'user name') # false
このコードがJavaScriptに変換されると、したのコードになります。
JavaScriptのコードは、「===」と「!==」になっています。
(function() {
  var userName;

  console.log(0 === 0);

  console.log(0 === 0);

  console.log(0 !== 0);

  console.log(0 !== 0);

  userName = 'hoge fuga';

  console.log(userName === 0);

  console.log(userName === 0);

  console.log(userName === 'hoge fuga');

  console.log(userName === 'user name');

}).call(this);