GeekPlux

GeekPlux

马上订阅 GeekPlux RSS 更新: https://geekplux.com/atom.xml

CoffeeScript 笔记

2014年5月16日 03:06

原文地址:https://geekplux.com/2014/05/15/coffeescript_note

最近读了《CoffeeScript程序设计》的前半部分「核心 CoffeeScript」。对 CoffeeScript 也是有了初步的了解,本文只是我的随手笔记,并没有非常系统的总结 CoffeeScript 语法,想学习语法的同学可以看以下两份中文材料:

为什么要用 CoffeeScript?

  • 采用了 JavaScript 中的 Good Parts,符合 JS 最佳实践
  • 代码简洁清晰,有很多语法糖

一些特性

1.有意义的空格

CoffeeScript 移除了所有的大括号和分号。

JS 会自动在行尾添加;,但它又没有纯粹的设计为一款不需要加分号的语言,所以有时候会引起一些蛋疼的Bug。而 CoffeeScript 会在编译出的 JS 代码里每行都加;,很方便。

CoffeeScript 和 Python、Ruby 一样,采用强制缩进(Coffee的很多地方与 ruby 类似),这种简洁,可读性又很强的代码,让人大爱。

2.变量作用域的控制

JS 中的变量作用域一直让人诟病。

CoffeeScript 把编译生成的 JS 封装在一个匿名函数中:

(function(){
  // 这里是编译生成的代码
}).call(this);

这样就巧妙避免了全局作用域的污染。同时,CoffeeScript 始终在编译生成的 JS ...

Continue to read