JavaScript中的字符串(String)是原始数据类型之一,用于表示文本数据,具有不可变性、字符索引等核心特性,是开发中最常用的数据类型之一。一、字符串的定义与表示1. 语法形式:支持单引号(`'`)、双引号(`"`)和反引号(`` ` ``,ES6+)三种引号定义,反引号还支持模板字符串(可插入变量/表达式)。2. 转义字符:使用反斜杠(`\`)转义特殊字符,如换行符(`\n`)、引号(`\'`)、 Unicode 字符(`\uXXXX`)等。二、字符串的核心特性1. 不可变性:字符串创建后无法修改,所有修改操作(如`replace()`)会返回新字符串,原字符串保持不变。2. 字符索引:字符串是类数组结构,可通过索引访问单个字符(如`str[0]`),但不支持直接修改索引值(如`str[0] = 'a'`无效)。3. 长度属性:通过`length`属性获取字符数量(注意:包含所有可见/转义字符)。三、常用方法与操作1. 拼接与截取:• 拼接:使用`+`运算符或`concat()`方法。• 截取:`slice(start, end)`(含头不含尾)、`substring()`(不支持负数索引)、`substr()`(按长度截取,ES6+已不推荐)。2. 查找与替换:• 查找:`indexOf()`(首次出现位置)、`includes()`(是否包含子串,ES6+)。• 替换:`replace()`(支持正则表达式)、`replaceAll()`(ES2021+,替换所有匹配项)。3. 转换与格式化:• 类型转换:`String()`函数或`toString()`方法将其他类型转为字符串。• 模板字符串:反引号内用`${变量}`插入动态内容,支持多行文本。四、注意事项1. 避免“字符串化”过度:不要用字符串模拟数组/对象(如用分隔符存储列表),会增加维护成本。2. 编码问题:JavaScript字符串采用UTF-16编码,部分特殊字符(如emoji)需用两个索引表示(可通过`charCodeAt()`验证)。