📅  最后修改于: 2023-12-03 15:14:12.156000             🧑  作者: Mango
CoffeeScript是一种编译型编程语言,它可以被编译成JavaScript。CoffeeScript语法简洁明了,易于阅读和编写,可以使JavaScript代码更加优雅。
在进行CoffeeScript编程之前,需要先安装CoffeeScript。可以通过Node.js的包管理器npm进行安装:
npm install -g coffee-script
下面是一个简单的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的类和继承非常简洁易读。在定义函数时,可以直接在参数列表中使用@符号表示当前实例对象。