📜  CoffeeScript-语法

📅  最后修改于: 2020-10-26 05:40:30             🧑  作者: Mango


在上一章中,我们已经了解了如何安装CoffeeScript。在本章中,让我们检查CoffeeScript的语法。

与JavaScript的语法相比,CoffeeScript的语法更为优美。它避免了麻烦的功能,例如花括号,分号和可变减速度。

CoffeeScript陈述式

与C,C+和Java等许多其他编程语言不同,CoffeeScript中的语句不以分号(;)结尾。取而代之的是,CoffeeScript编译器将每一行都视为单独的语句。

这是CoffeeScript语句的示例。

name = "Javed"
age = 26

以相同的方式,我们可以通过使用分号将它们分开来在一行中编写两个语句,如下所示。

name = "Javed";age = 26

CoffeeScript变量(无var关键字)

在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提供两种类型的注释,如下所示:

单行注释

每当我们要在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