4

疑問符演算子を使用する CoffeeScript スニペットがあります。Javascript 構文に変換する必要があります。スニペットは次のようなものです。

closeItem: (item) ->
    item.close() if item?.close and not item.isClosed

CoffeeScript サイトにアクセスしようとしましたが、結果は次のとおりです。

({
  closeItem: function(item) {
    if ((item != null ? item.close : void 0) && !item.isClosed) {
      return item.close();
    }
  }
});

これは正しいです?私の知識に基づいて(私はJavascriptとCoffeeScriptの両方が初めてです)、次のように翻訳します

closeItem: function(item) {
    if(item && item.close && !item.isClosed) item.close();
}

何か不足していますか?

4

1 に答える 1

4

の戻り値を返したいと思うかもしれませんが、あなたの翻訳は良いものですitem.close()(CoffeeScript バージョンがそうしているように)。CoffeeScript の翻訳は、おそらくより汎用的です (たとえば、number のa?.foo場合に処理されます)。がオブジェクトであることがわかっている場合、バージョンは問題ありません。a0item

于 2013-10-17T17:25:30.870 に答える