óCoffeeScript Cookbook

让整个字符串小写

问题

你想让整个字符串变成小写的。

方法

使用JavaScript中String的toLowerCase()方法:

"ONE TWO THREE".toLowerCase()
# => 'one two three'

详解

toLowerCase()是一个标准的JavaScript方法。但是别漏掉了括号。

语法糖

你可以使用下面方式添加一些像Ruby一样的语法糖:

String::downcase = -> @toLowerCase()
"ONE TWO THREE".downcase()
# => 'one two three'

上面的这一小段代码,展示出了几个CoffeeScript的特性:

  • 双冒号::.prototype的缩写;
  • @this.的缩写。

编译成的JavaScript如下:

String.prototype.downcase = function() {
  return this.toLowerCase();
};
"ONE TWO THREE".downcase();

注意:尽管在像Ruby这样的语言中扩展原生的对象很常见,但是在JavaScript中这被认为是不好的实践(参看:Maintainable JavaScript: Don’t modify objects you don’t ownExtending built-in native objects. Evil or not?)。