Coffeescript 简明教程

CoffeeScript - Strings

String 对象允许你使用一系列字符。在大多数编程语言中,在 CoffeeScript 中字符串使用引号声明,如下所示:−

my_string = "Hello how are you"
console.log my_string

在编译时,它会生成以下 JavaScript 代码。

// Generated by CoffeeScript 1.10.0
(function() {
  var my_string;

  my_string = "Hello how are you";

  console.log(my_string);

}).call(this);

String Concatenation

我们可以使用“+”符号连接两个字符串,如下所示。

new_string = "Hello how are you "+"Welcome to Tutorialspoint"
console.log new_String

在编译时,它会生成以下 JavaScript 代码。

// Generated by CoffeeScript 1.10.0
(function() {
  var new_string;

  new_string = "Hello how are you " + "Welcome to Tutorialspoint";

  console.log(new_String);

}).call(this);

如果你执行上述示例,你可以观察到连接后的字符串,如下所示。

Hello how are you Welcome to Tutorialspoint

String Interpolation

CoffeeScript 还提供一个称为 String interpolation 的功能,用于在字符串中包含变量。CoffeeScript 的该功能受 Ruby 语言启发。

字符串内插使用双引号 "" 、一个井号 # 和一对花括号 { } 完成。字符串在双引号中声明,要内插的变量包装在花括号中,花括号之前加上井号,如下所示。

name = "Raju"
age = 26
message ="Hello #{name} your age is #{age}"
console.log message

在编译上述示例时,它会生成以下 JavaScript。此处你可以观察到,字符串内插使用 + 符号转换为正常的连接。

// Generated by CoffeeScript 1.10.0
(function() {
  var age, message, name;

  name = "Raju";

  age = 26;

  message = "Hello " + name + " your age is " + age;

  console.log(message);

}).call(this);

如果你执行上述 CoffeeScript 代码,它会给你以下输出。

Hello Raju your age is 26

只有当字符串用双引号 " " 括起来时,才会内插作为 #{variable} 传递的变量。使用单引号 ' ' (而不是双引号)会产生没有内插的文本行。请考虑以下示例。

name = "Raju"
age = 26
message ='Hello #{name} your age is #{age}'
console.log message

如果我们使用单引号而不是双引号在插值中,你将得到以下输出。

Hello #{name} your age is #{age}

CoffeeScript 允许多行字符串而不连接它们,如下所示。

my_string = "hello how are you
Welcome to tutorialspoint
Have a nice day."
console.log my_string

它生成以下输出。

hello how are you Welcome to tutorialspoint Have a nice day.

JavaScript String Object

JavaScript 的 String 对象允许你处理一系列字符。此对象提供给你许多方法,可在字符串上执行各种操作。

由于我们可以在 CoffeeScript 代码中使用 JavaScript 库,因此我们可以在 CoffeeScript 程序中使用所有这些方法。

String Methods

以下是 JavaScript 的 String 对象方法的列表。点击这些方法的名称来获取展示它们在 CoffeeScript 中的用法示例。

S.No.

Method & Description

1

charAt() 返回指定索引处的字符。

2

charCodeAt() 返回一个数字,指出给定索引处字符的 Unicode 值。

3

concat() 合并两个字符串的文本并返回一个新字符串。

4

indexOf() 返回调用字符串对象中指定值首次出现的索引,如果未找到,则返回 -1。

5

lastIndexOf() 返回调用字符串对象中指定值最后一次出现的索引,如果未找到,则返回 -1。

6

localeCompare() 返回一个数字,指示引用字符串在排序顺序中是否在给定字符串之前或之后,或是否与给定字符串相同。

7

match() 用于匹配字符串和正则表达式。

8

search() 执行正则表达式和指定字符串之间的匹配搜索。

9

slice() 提取字符串的一部分并返回一个新字符串。

10

split() 通过将字符串分成子字符串来将 String 对象拆分为一个字符串数组。

11

substr() 返回从指定位置开始通过指定数量的字符的字符串中的字符。

12

toLocaleLowerCase() 字符串中的字符转换为小写,同时遵守当前区域设置。

13

toLocaleUpperCase() 字符串中的字符转换为大写,同时遵守当前区域设置。

14

toLowerCase() 返回已转换为小写的调用字符串值。

15

toUpperCase() 返回已转换为大写的调用字符串值。