CoffeeScript - 后缀推导
就像后缀 if 和 unless 一样,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