📜  CoffeeScript教程(1)

📅  最后修改于: 2023-12-03 15:14:12.156000             🧑  作者: Mango

CoffeeScript教程

CoffeeScript是一种编译型编程语言,它可以被编译成JavaScript。CoffeeScript语法简洁明了,易于阅读和编写,可以使JavaScript代码更加优雅。

安装CoffeeScript

在进行CoffeeScript编程之前,需要先安装CoffeeScript。可以通过Node.js的包管理器npm进行安装:

npm install -g coffee-script
编写第一个CoffeeScript程序

下面是一个简单的Hello World程序,使用CoffeeScript编写:

# 输出Hello World
console.log "Hello World"

可以看到,CoffeeScript中使用#表示注释。console.log用于输出信息,和JavaScript中使用的方式相同。

将上述代码保存为hello.coffee文件,然后使用以下命令编译:

coffee hello.coffee

编译后,会自动生成对应的JavaScript代码:

// 输出Hello World
console.log("Hello World");

可以看到,CoffeeScript代码被编译成了JavaScript代码。

变量和数据类型

在CoffeeScript中,定义变量时可以使用关键字var,也可以直接声明变量。CoffeeScript中的变量类型包括数字、字符串、布尔值、数组和对象。

下面是一个变量定义的例子:

# 直接声明
name = "Tom"
age = 25

# 使用关键字var
var isStudent = true

# 数组和对象
fruits = ["apple", "banana", "orange"]
person = 
  name: "Tom",
  age: 25,

可以看到,在声明对象时使用了缩进格式,可以使代码更加美观可读。

函数和控制流

CoffeeScript中的函数使用->定义,以end结束函数。if-else语句使用与JavaScript相同的写法。for-in语句中的变量使用of进行声明。

下面是一个函数和控制流的例子:

# 定义函数
square = (num) ->
  num * num
end

# if-else语句
if age < 18
  console.log "未成年"
else
  console.log "已成年"

# for-in语句
for fruit of fruits
  console.log fruit
end

可以看到,CoffeeScript中函数和控制流的使用方式和JavaScript类似。

类和继承

CoffeeScript中支持类和继承。类使用class定义,继承使用extends关键字。

下面是一个类和其子类的例子:

# 定义类
class Animal
  constructor: (@name) ->
  
  sayName: ->
    console.log "My name is #{@name}"
  
# 定义子类,继承自Animal
class Dog extends Animal
  run: ->
    console.log "#{@name} is running"
  
# 创建实例
cat = new Animal("Tom")
dog = new Dog("Jack")
cat.sayName()
dog.sayName()
dog.run()

可以看到,CoffeeScript的类和继承非常简洁易读。在定义函数时,可以直接在参数列表中使用@符号表示当前实例对象。