语法
在上一章中,我们已经了解了如何安装CoffeeScript。 在本章中,让我们看看CoffeeScript的语法。
与JavaScript的语法相比,CoffeeScript的语法更加优雅。 它避免了花括号,分号和可变减速等麻烦的功能。
CoffeeScript语句
与许多其他编程语言(如C,C ++和Java)不同,CoffeeScript中的语句不以分号(;)结尾。 而不是那样,每个新行都被CoffeeScript编译器视为一个单独的语句。
例子 (Example)
以下是CoffeeScript语句的示例。
name = "Javed"
age = 26
以同样的方式,我们可以通过使用分号分隔它们来在一行中编写两个语句,如下所示。
name = "Javed";age = 26
CoffeeScript变量(无变量关键字)
在JavaScript中,我们在创建变量之前使用var关键字声明变量,如下所示。
var name = "Javed"
var age = 20
在CoffeeScript中创建变量时,无需使用var关键字声明它们。 我们可以直接创建一个变量,只需为它赋值,如下所示。
name = "Javed"
age = 20
没有圆括号
通常,我们在声明函数,调用函数时使用括号,并且还要分隔代码块以避免歧义。 在CoffeeScript中,不需要使用括号,在创建函数时,我们使用箭头标记( -》 )而不是括号,如下所示。
myfunction = -> alert "Hello"
不过,我们必须在某些情况下使用括号。 在调用不带参数的函数时,我们将使用括号。 例如,如果我们在CoffeeScript中有一个名为my_function的函数,那么我们必须调用它,如下所示。
my_function()
同样,我们也可以使用括号分隔模糊代码。 如果你观察下面的例子,没有大括号,结果是2233,使用大括号,它将是45。
alert "The result is "+(22+33)
没有卷曲的大括号
在JavaScript中,对于诸如函数,循环和条件语句之类的块代码,我们使用花括号。 在CoffeeScript中,不需要使用花括号。 相反,我们必须在体内保持适当的缩进(白色空间)。 这是受Python语言启发的功能。
以下是CoffeeScript中的一个函数示例。 在这里你可以观察到,我们使用三个空格作为缩进而不是花括号来分隔函数的主体。
myfunction = ->
name = "John"
alert "Hello"+name
CoffeeScript评论
在任何编程语言中,我们使用注释来编写有关我们编写的代码的描述。 这些评论不被视为计划的一部分。 CoffeeScript中的注释类似于Ruby语言的注释。 CoffeeScript提供两种类型的注释,如下所示 -
Single-line Comments
每当我们想在CoffeeScript中注释一行时,我们只需要在它之前放置一个哈希标记,如下所示。
# This is the single line comment in CoffeeScript
跟随散列标记( # )的每一行都被CoffeeScript编译器视为注释,它编译除了注释之外的给定文件中的其余代码。
多行评论
每当我们想要在CoffeeScript(多行)中注释多行时,我们可以通过将这些行包装在一对三重哈希标记中来实现,如下所示。
###
These are the multi line comments in CoffeeScript
We can write as many number of lines as we want
within the pair of triple hash tags.
###
CoffeeScript保留关键字
CoffeeScript中所有保留字的列表如下表所示。 它们不能用作CoffeeScript变量,函数,方法,循环标签或任何对象名称。
case default function var void with const let enum export import native __hasProp __extends __slice __bind __indexOf implements | else interface package private protected public static yield true false null this new delete typeof in arguments eval | instanceof return throw break continue debugger if else switch for while do try catch finally class extends super | undefined then unless until loop of by when and or is isnt not yes no on off |