Coffeescript-postfix-form-of-comprehensions

提供:Dev Guides
移動先:案内検索

CoffeeScript-Postfix内包表記

接尾辞 if および unless と同様に、CoffeeScriptは、コードの作成中に便利なComprehensionsの接尾辞形式を提供します。 これを使用して、次のように for..in 内包表記を1行で記述できます。

#Postfix for..in comprehension
console.log student for student in ['Ram', 'Mohammed', 'John']

#postfix for..of comprehension
console.log key+"::"+value for key,value of { name: "Mohammed", age: 24, phone: 9848022338}

理解のための接尾辞

次の例は、CoffeeScriptが提供するfor..in内包表記の接尾辞形式の使用法を示しています。 このコードを for_in_postfix.coffee という名前のファイルに保存します

console.log student for student in ['Ram', 'Mohammed', 'John']
  • コマンドプロンプト*を開き、以下に示すように.coffeeファイルをコンパイルします。
c:\> coffee -c for_in_postfix.coffee

コンパイル時に、次のJavaScriptが提供されます。

//Generated by CoffeeScript 1.10.0
(function() {
  var i, len, ref, student;

  ref = ['Ram', 'Mohammed', 'John'];
  for (i = 0, len = ref.length; i < len; i++) {
    student = ref[i];
    console.log(student);
  }

}).call(this);

次に、*コマンドプロンプト*を再度開き、以下に示すようにCoffeeScriptファイルを実行します。

c:\> coffee for_in_postfix.coffee

CoffeeScriptファイルを実行すると、次の出力が生成されます。

Ram
Mohammed
John

理解のための接尾辞

次の例は、CoffeeScriptが提供する for..of 内包表記の接尾辞形式の使用法を示しています。 このコードを for_of_postfix.coffee という名前のファイルに保存します

console.log key+"::"+value for key,value of { name: "Mohammed", age: 24, phone: 9848022338}
  • コマンドプロンプト*を開き、以下に示すように.coffeeファイルをコンパイルします。
c:\> coffee -c for_of_postfix.coffee

コンパイル時に、次のJavaScriptが提供されます。

//Generated by CoffeeScript 1.10.0
(function() {
  var key, ref, value;

  ref = {
    name: "Mohammed",
    age: 24,
    phone: 9848022338
  };
  for (key in ref) {
    value = ref[key];
    console.log(key + "::" + value);
  }

}).call(this);

次に、*コマンドプロンプト*を再度開き、以下に示すようにCoffeeScriptファイルを実行します。

c:\> coffee for_of_postfix.coffee

CoffeeScriptファイルを実行すると、次の出力が生成されます。

name::Mohammed
age::24
phone::9848022338