3

私はこのJavaScriptを持っています:

if(this.isShown || event.isDefaultPrevented()){
    return;
}

そして私はそれをCoffeescriptに変換しようとしましたが、nullが機能するように戻すことができないようです:

if @isShown or event.isDefaultPrevented()
    return;

どうすれば正しく動作させることができますか?

4

2 に答える 2

2

CoffeeScriptコンパイラは、後のコードの実行を防ぐ必要がない限り、暗黙的にnullを返さないようです。そのコードのに​​何かが起こった場合、nullリターンが追加されます。例:

if @isShown or event.isDefaultPrevented()
  return

alert(1)

// compiles to =>

if (this.isShown || event.isDefaultPrevented()) {
  return;
}

alert(1);

上記の場合、関数は条件付きの後にとにかく終了するだけなので、nullリターンは不要になります。

于 2012-05-21T19:53:21.433 に答える
1

問題は他の場所にあるはずです...私はhttp://coffeescript.orgにアクセスし、[試してみてください]をクリックして、CSコードを貼り付けました。生成されたJSは、元のJSコードと一致します。

CoffeeScriptのエラーメッセージは、実際には彼らが言っていることを意味しないことがよくあります。それがとても楽しいことです...あなたは探偵になりますが、プログラマーとしての仕事を辞める必要はありません!より大きなコードブロックを投稿してください。多分私たちはあなたの探偵の仕事を手伝うことができます。

于 2012-05-21T19:37:18.760 に答える