文档章节

CoffeeScript简介

knightuniverse
 knightuniverse
发布于 2014/01/18 00:07
字数 394
阅读 339
收藏 4

CoffeeScript 是什么?

Coffeescript是一门可以编译成javascript的语言。

它的语法设计收到来自于Ruby和Python的启发,并且实现了许多这两门语言的特性。

CoffeeScript编写的代码非常简洁,它使用代码缩进来识别代码块,另外语言层面提供的一些特性,比如class extends mixin map等,都会让你的编码量大幅度下降,比起直接使用javascript来编写代码要优雅很多。

可能你会担心你不能在CoffeeScript引用其他使用js编写的库。不必担心,CoffeeScript并不是js的超集,你大可以在CoffeeScript代码里使用这些库。

实际上,想要使用CoffeeScript,你依然需要理解js。前面也说过了,CoffeeScript最后会编译成为js,代码依然运行在js runtime。debug的时候你需要能够理解引起错误的js代码才行。

正像如今js在nodejs的环境下,可以运行在服务端一样,CoffeeScript也不仅仅只限于运行在浏览器客户端,它一样可以运行在nodejs之上。

快速入门

CoffeeScript提供了两种编译方式,一种是基于浏览器编译的方式,另外一种则是建立在nodejs的基础上。

browser-based

<script src="http://jashkenas.github.com/coffee-script/extras/coffee-script.js" type="text/javascript" charset="utf-8"></script>
<script type="text/coffeescript">
  # Some CoffeeScript
</script>

nodejs-based

npm install -g coffee-script
coffee --compile my-script.coffee

如果nodejs版编译器的--output参数没有指定,默认情况下,代码会被编译成同名文件,文件后缀则会改成.js。

© 著作权归作者所有

共有 人打赏支持
knightuniverse
粉丝 2
博文 39
码字总数 46366
作品 0
厦门
程序员
私信 提问
CoffeeScript 已死,CoffeeScript 万岁!

正如你可能已经听说的,JavaScript今年又准备推出一个新版本-ES6。这个名字源于它遵循了“ECMAScript”编码标准的第六个重要版本:ECMA-262。在这个期待已久的发布中,将包括一些对绝大多数J...

oschina
2015/04/06
17.4K
31
CoffeeScript 2.2.2 发布,编译成 JS 的小巧语言

CoffeeScript 2.2.2 已发布,CoffeeScript 2 最大的变化是,CoffeeScript 编译器会生成现代 JavaScript 语法( ES6 或 ES2015 及以上版本)。一个 CoffeeScript =>会变成一个 JS => ,一个 ...

局长
02/23
675
1
CoffeeScript 2.0.0 正式发布,编译成 JS 的小巧语言

在经过 5 个测试版后,CoffeeScript 2.0.0 正式发布了。 从 CoffeeScript 1.x 到 2 的变化不多,大部分项目都能顺利升级。CoffeeScript 2 最大的变化是,CoffeeScript 编译器会生成现代 Java...

王练
2017/09/19
1K
3
初探 CoffeeScript

上周末我去参加了Java开发者大会讨论了几个非常有意思的话题。有名演讲者谈到了Underscore,当时他使用的演示都是基于CoffeeScript完成的。我以前与CoffeeScript这玩意有过一面之缘,但经过他...

junwong
2012/04/18
4.1K
15
CoffeeScript 2.2.3 发布,编译成 JS 的小巧语言

CoffeeScript 2.2.3 已发布,CoffeeScript 2 最大的变化是,CoffeeScript 编译器会生成现代 JavaScript 语法( ES6 或 ES2015 及以上版本)。一个 CoffeeScript =>会变成一个 JS => ,一个 ...

达尔文
03/12
535
1

没有更多内容

加载失败,请刷新页面

加载更多

闲话高并发的那些神话,看京东架构师如何把它拉下神坛

高并发也算是这几年的热门词汇了,尤其在互联网圈,开口不聊个高并发问题,都不好意思出门。高并发有那么邪乎吗?动不动就千万并发、亿级流量,听上去的确挺吓人。但仔细想想,这么大的并发与...

James-
15分钟前
1
0
Emacs 系列:让我们拥抱 Emacs 和 org 模式

导读 我必须承认,在使用了几十年的 vim 后, 我被 Emacs 吸引了。长期以来,我一直对如何组织安排事情感到沮丧。我也有用过 GTD 和 ZTD 之类的方法,但是像邮件或是大型文件这样的事务真的很...

问题终结者
16分钟前
1
0
解析Node.js通过axios实现网络请求

本次给大家分享一篇node.js通过axios实现网络请求的方法,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 1、使用Npm 下载axios n...

前端攻城老湿
29分钟前
4
0
深入浅出之React-redux中connect的装饰器用法@connect

这篇文章主要介绍了react-redux中connect的装饰器用法@connect详解,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 通常我们需要一...

前端攻城小牛
30分钟前
2
0
详解css BEM书写规范

BEM是基于组件的web开发方法。其思想是将用户界面分隔为独立的块,从而使开发复杂的UI界面变得更简单和快,且不需要粘贴复制便可复用现有代码。BEM由Block、Element、Modifier组成。选择器里...

前端小攻略
45分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部