CoffeeScript - 后缀推导

就像后缀 ifunless 一样,CoffeeScript 提供了推导的后缀形式,这在编写代码时很方便。 使用它,我们可以在一行中编写 for..in 推导,如下所示。

#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}

后缀 for..in 推导

以下示例演示了 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 

后缀 for..of 推导

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

❮ CoffeeScript - 推导