在JS中String类型是基本数据类型,与其语言使用对象实现字符串不同。

声明定义

用对象方式创建字符串

let str = new String('Hello World!');

用字符串字面量创建字符串

let str = 'Hello World!';
注:字符串使用单、双、反(esc下面)引号包裹,单、双、反引号使用结果没有区别,但是开头和结尾引号必须匹配。

  1. let str1 = 'Hello World!';
  2. let str2 = "Hello World!";
  3. let str3 = `Hello World!`;
  4. console.log(str1); // 'Hello World!'
  5. console.log(str2); // 'Hello World!'
  6. console.log(str3); // 'Hello World!'

转义符号

有些字符有双层含义,需要使用 \ 转义符号进行含义转换。

常用转义符号列表:

符号 说明
\t 制表符
\n 换行
\\ 斜杠符号
\‘ 单引号
\“ 双引号R

连接运算符

  • 使用 + 可以连接多个内容组合成字符串,经常用于组合输出内容使用。
  • 使用 += 在字符串上追回字符内容。

    模板字面量

    使用 符号包裹的字符串中可以写入引入变量与表达式,支持换行且保留字符串原样。
    模板字面量最常用的一个特性是支持字符串插值,也就是可以在一个连续定义中插入一个或多个值。 ```javascript let url = ‘http://hello-chen.cn‘; let port = ‘8080’;

console.log(${url}:${port});

function fn() { return ‘Hello World!’; }

console.log(${fn()});

http://hello-chen.cn:8080 Hello World!

  1. <a name="NVH88"></a>
  2. ### 字符串处理常用方法
  3. <a name="jJ3Ak"></a>
  4. #### 获取长度
  5. ```javascript
  6. let str = 'Hello World!';
  7. console.log(str.length);// 12

大小写转换

  1. console.log(str.toUpperCase()); // HELLO WORLD!
  2. console.log(str.toLowerCase()); // hello world!

移除空白

  1. console.log(str.trim()); //Hello World!
  2. // 移除左边的空白
  3. console.log(str.trimLeft()); //Hello World!
  4. // 移除右边的空白
  5. console.log(str.trimRight()); // Hello World!

获取单字符

  1. // 从0开始的位置获取字符
  2. console.log(str.charAt(3)); // l
  3. // 使用索引指定获取字符
  4. console.log(str[1]); // H

截取字符串

使用 slice、substr、substring 函数都可以截取字符串。

  • slice、substring 第二个参数为截取的结束位置。
  • substr 第二个参数指定获取字符数量。
  • slice 原型String.slice(start?: number, end?: number): string
  • substr 原型 String.substr(from: number, length?: number): string
  • substring 原型 String.substring(start: number, end?: number): string
    1. console.log(str.slice(1, 4)); // Hel
    2. console.log(str.substr(1, 5)); // Hello
    3. console.log(str.substring(1, 4)); // Hel

    查找字符串

  1. indexOf方法从开始获取字符串位置,检测不到时返回 -1。
  2. lastIndexOf方法从结尾获取字符串位置,检测不到时返回 -1。
  3. search方法用于检索字符串中指定的子字符串位置,也可以使用正则表达式搜索。
  4. includes字符串中是否包含指定的值,第二个参数指查找开始位置。
    1. console.log(str.indexOf('l', 1)); // 3
    2. console.log(str.indexOf('l', 13)); // -1
    3. console.log(str.lastIndexOf('l')); // 10
    4. console.log(str.lastIndexOf('l', 3)); // 3
    5. console.log(str.search('World')); // 7
    6. console.log(str.includes('World')); // true

    替换字符串

    replace方法用于字符串的替换操作,默认只替换一次,如果全局替换需要使用正则。
    1. console.log(str.replace('Hello','Hi')); // Hi World!

    重复生成

    repeat方法字符串复制指定次数。 ```javascript let str = ‘‘; console.log(str.repeat(3)); // **

let phone = “19982501234”; console.log(phone.slice(0, 3) + str.repeat(4) + phone.slice(7, 11)); // 199**1234 ```

类型转换

TODO