在 TypeScript 中,string 类型用于表示文本数据。TypeScript 的字符串类型与 JavaScript 的字符串类型基本相同,但 TypeScript 为字符串操作提供了更多的类型检查功能,使得开发者能够在编写代码时更加精确地处理文本。

本文将介绍 string 类型的基本用法、字符串字面量、字符串模板、字符串方法等内容。


目录

  1. 基本语法
  2. 字符串字面量
  3. 模板字符串
  4. 字符串常用方法
  5. 字符串与其他类型转换
  6. 字符串类型推断
  7. 字符串常量类型
  8. 参考资料

1. 基本语法

在 TypeScript 中,字符串可以用单引号 (') 或双引号 (") 来表示。此外,ES6 引入的模板字符串也支持用反引号 (`) 来定义,支持多行文本和插值。

示例:

let name: string = "Alice";   // 双引号
let message: string = 'Hello'; // 单引号
let multiline: string = `This is
a multiline string.`;         // 模板字符串

console.log(name, message, multiline);

输出:

Alice Hello This is
a multiline string.


2. 字符串字面量

字符串字面量是指固定的字符串值。TypeScript 支持通过字面量类型进行类型检查,这对于字符串常量非常有用。

示例:

let color: "red" | "blue" | "green";  // 字符串字面量类型
color = "red";   // 正确
color = "yellow"; // 错误:类型“yellow”不能赋给类型“"red" | "blue" | "green"”


3. 模板字符串

模板字符串使用反引号 (`) 定义,支持插值和多行字符串。在模板字符串中,可以通过 ${} 来插入表达式。

示例:

let name: string = "Alice";
let age: number = 25;

// 字符串插值
let greeting: string = `Hello, my name is ${name} and I am ${age} years old.`;
console.log(greeting); // 输出: Hello, my name is Alice and I am 25 years old.

多行字符串:

let multiline: string = `This is line one.
This is line two.`;
console.log(multiline);

输出:

This is line one.
This is line two.


4. 字符串常用方法

TypeScript 支持 JavaScript 中所有常用的字符串方法,例如 charAt()concat()substring()replace() 等。

方法说明
length返回字符串的长度
toUpperCase()返回大写字符串
toLowerCase()返回小写字符串
charAt(index)返回指定位置的字符
substring(start, end)返回从 startend 的子字符串
replace(searchValue, newValue)替换字符串中的内容
split(separator)根据分隔符分割字符串

示例:

let str: string = "Hello TypeScript";

// 字符串长度
console.log(str.length); // 输出: 15

// 转换为大写
console.log(str.toUpperCase()); // 输出: HELLO TYPESCRIPT

// 获取指定位置字符
console.log(str.charAt(6)); // 输出: T

// 获取子字符串
console.log(str.substring(0, 5)); // 输出: Hello

// 替换字符串
let newStr: string = str.replace("TypeScript", "JavaScript");
console.log(newStr); // 输出: Hello JavaScript

// 分割字符串
let words: string[] = str.split(" ");
console.log(words); // 输出: ["Hello", "TypeScript"]


5. 字符串与其他类型转换

TypeScript 支持将其他类型转换为字符串,可以使用 String() 函数或 .toString() 方法。

示例:

let num: number = 123;
let bool: boolean = true;

let numStr: string = String(num);       // 使用 String() 转换
let boolStr: string = bool.toString();  // 使用 toString() 转换

console.log(numStr); // 输出: "123"
console.log(boolStr); // 输出: "true"


6. 字符串类型推断

TypeScript 会自动推断字符串类型,通常无需显式声明类型。如果字符串被直接赋值,它将自动推断为 string 类型。

示例:

let greeting = "Hello, World!";  // 自动推断为 string 类型
greeting = "TypeScript is awesome!";


7. 字符串常量类型

字符串常量类型指的是限定变量只能为某个特定字符串的类型。例如,可以定义一个字符串常量类型,使得变量只能赋值为固定的几种字符串之一。

示例:

type Direction = "north" | "south" | "east" | "west";

let dir: Direction;
dir = "north"; // 正确
dir = "up";    // 错误:类型“up”不能赋给类型“Direction”


8. 参考资料

📌 出站链接:

🔗 站内链接:


TypeScript 提供了强大的字符串操作能力,通过类型注解、模板字符串以及常见的字符串方法,能够帮助开发者更加高效地处理文本数据。同时,字符串常量类型和类型推断等功能增强了代码的类型安全性。