在 TypeScript 的字符串中插入变量
Interpolate Variables in a String in TypeScript
使用模板文字在 TypeScript 的字符串中插入变量,例如hello ${myVariable}
. 模板文字用反引号分隔,并允许我们使用美元符号和花括号${expression}
语法嵌入变量和表达式。
索引.ts
const str = 'Alfred'; // 👇️ const result: string const result = `Hello ${str}!`; // 👇️ "Hello Alfred!" console.log(result);
我们使用
模板文字
在字符串中插入变量。
请注意,字符串包含在反引号 “ 中,而不是单引号中。
TypeScript 能够将模板文字的类型推断为字符串,因为它就是这样——一个允许我们嵌入变量和表达式的字符串。
美元符号和花括号语法允许我们使用被评估的占位符。
索引.ts
const num = 10; // 👇️ const result: string const result = `${num + 23} percent`; console.log(result); // 👉️ "33 percent"
默认情况下,模板文字将各个部分连接成一个字符串。
任何使用美元符号和花括号${}
语法传递的表达式都会被评估。
索引.ts
// 👇️ const result: string const result = `10 multiplied by 5 is ${10 * 5}`; console.log(result); // 👉️ "10 multiplied by 5 is 50"
您还可以使用模板文字在多行字符串中插入变量。
索引.ts
const str1 = 'line 1'; const str2 = 'line 2'; const result = `this is ${str1} this is ${str2}`; console.log(result); // 👉️ this is line 1 // 👉️ this is line 2
这非常有用,因为我们不必在每一行都添加换行符,这与连接字符串时相反。
索引.ts
const str1 = 'line 1'; const str2 = 'line 2'; const result = 'this is ' + str1 + '\n' + 'this is ' + str2; console.log(result); // 👉️ this is line 1 // 👉️ this is line 2
由于模板文字包含在反引号 “ 中,如果您的字符串包含反引号字符,则必须使用反斜杠对其进行转义。
索引.ts
const str1 = 'hello'; const str2 = 'world'; const result = `${str1}\`${str2}`; console.log(result); // 👉️ hello`world
您甚至可以在模板文字中调用函数。
索引.ts
function multiply(a: number, b: number): number { return a * b; } const result = `10 * 5 is equal to ${multiply(10, 5)}`; console.log(result); // 👉️ "10 * 5 is equal to 50"
当您在字符串中插入变量时必须合并逻辑时,美元符号花括号语法非常强大。
下面是将三元运算符
与模板文字一起使用的示例
。
索引.ts
const str1 = 'world'; const str2 = 'one'; // 👇️ const result: string const result = `${str1.length > str2.length ? str1 : str2}`; console.log(result); // 👉️ "world"
三元运算符基本上是一个if/else
语句。问号之前的部分被评估,如果它返回true
,它返回冒号之前的值,否则它返回冒号之后的值。
您还可以在模板文字中使用逻辑或 (||) 和逻辑与 (&&) 运算符。
索引.ts
const num1 = 0; const num2 = 50; // 👇️ const result: string const result = `${num1 || num2}`; console.log(result); // 👉️ '50'
逻辑或 (||) 运算符如果为真,则返回左侧的值,否则返回右侧的值。
下面是对模板文字使用逻辑与 (&&) 运算符的示例。
索引.ts
const str1 = 'hello'; const str2 = 'world'; const result = `${str1 && str2}`; console.log(result); // 👉️ "world"
逻辑与 (&&) 运算符如果为假,则返回左侧的值,否则返回右侧的值。
这些是在字符串中插入变量或表达式的最常用方法。使用模板文字时,您可以合并函数调用和各种逻辑。