跳到主要内容

TypeScript - String 字符串

在 TypeScript 中,字符串(string)用于表示一系列字符。字符串是 TypeScript 中的基本数据类型之一,用于存储文本数据。与 JavaScript 类似,TypeScript 也支持字符串原始类型和字符串对象(String)。

创建字符串

你可以通过以下两种方式创建字符串。

1、使用单引号、双引号或反引号创建字符串原始类型:

let str1: string = 'a string primitive';
let str2: string = "another string";
let str3: string = `yet another string`;

2、使用 String() 构造函数创建字符串对象:

const str = new String('example@getiot.tech');
console.log(str);
console.log(typeof str);

输出结果:

example@getiot.tech
object
提示

string 是原始类型,而 String 是包装对象。建议优先使用 string,因为 String 对象在某些情况下可能会导致意外行为。

字符串属性

以下是字符串对象的一些常用属性:

属性名描述
length返回字符串的长度

字符串方法

以下是字符串对象的一些常用方法:

方法名描述
charAt(index)返回指定索引处的字符
charCodeAt(index)返回指定索引处字符的 Unicode 值
concat(str1, str2, ..., strN)连接两个或多个字符串
indexOf(searchValue)返回指定值在字符串中首次出现的索引
lastIndexOf(searchValue)返回指定值在字符串中最后一次出现的索引
localeCompare(compareString)比较两个字符串并返回比较结果
match(regexp)在字符串中匹配正则表达式
replace(regexp, newSubStr)替换与正则表达式匹配的子字符串
search(regexp)在字符串中搜索正则表达式匹配
slice(start, end)提取字符串的一部分并返回新字符串
split(separator)将字符串分割成子字符串数组
substr(start, length)返回字符串中从指定位置开始的指定数量的字符
substring(start, end)返回字符串中两个指定索引之间的字符
toLocaleLowerCase()将字符串转换为小写,考虑当前区域设置
toLocaleUpperCase()将字符串转换为大写,考虑当前区域设置
toLowerCase()将字符串转换为小写
toString()返回字符串的字符串表示
toUpperCase()将字符串转换为大写
valueOf()返回字符串的原始值

示例

示例 1:创建字符串原始类型

let str1: string = 'a string primitive';
console.log(str1);
let str2: string = "another string";
console.log(str2);
let str3: string = `yet another string`;
console.log(str3);

输出结果:

a string primitive
another string
yet another string

示例 2:连接字符串

使用 + 运算符连接两个字符串:

let str1: string = "Hello ";
let str2: string = "World!";
let str3: string = str1 + str2;
console.log(str3);

输出结果:

Hello World!

示例 3:访问字符串元素

通过索引访问字符串中的字符:

let message: string = "Hello World!";
console.log("Character at index 1 is => " + message[1]);
console.log("Character at index 6 is => " + message[6]);

输出结果:

Character at index 1 is => e
Character at index 6 is => W

示例 4:字符串 vs. 字符串对象

尝试将字符串对象赋值给字符串原始类型变量会报错:

let str: string;
str = new String('GetIoT');

报错信息:

Type 'String' is not assignable to type 'string'.
'string' is a primitive, but 'String' is a wrapper object. Prefer using 'string' when possible.

小结

TypeScript 的 string 类型用于表示文本数据,支持单引号、双引号和反引号创建字符串原始类型。虽然可以使用 String 构造函数创建字符串对象,但建议优先使用原始类型 string,以避免潜在的意外行为。字符串提供了丰富的属性和方法,用于处理和格式化文本数据。掌握这些基本概念,可以帮助你更高效地在 TypeScript 中处理字符串类型的数据。