原稿:语雀 · String · 原目录:JavaScript › String

关于String API详情,见MDN String

需要区分基本数据类型的字符串和字符串对象:

  • 字符串字面量 (通过单引号或双引号定义) 和 直接调用 String 方法(没有通过 new 生成字符串对象实例)的字符串都是基本字符串
  • 当基本字符串需要调用一个字符串对象才有的方法或者查询值的时候(基本字符串是没有这些方法的),JS会自动将基本字符串转化为字符串对象并且调用相应的方法或者执行查询

String->Array

中括号访问

js中允许直接使用索引访问字符串对象(区分基本字符串)的单个字符:

  • return ‘cat’11; // returns “a”

但是该操作不可以对字符串进行修改,字符串作为对象,因为字符串对象对应未知属性不是Configurable

String.prototype.split()

使用指定的分隔符将一个String对象分割成子字符串数组,当指定 ’’ 作为分隔符,相当于按字符切割为数组

  • ‘cat’.split(’’) // c,a,t'c', 'a', 't'

Array.from()

从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例

  • Array.from(‘cat’) // c,a,t'c', 'a', 't'

Array->String

如果要把

c,a,t'c', 'a', 't'

转为’cat’,可采取的方法有

String.prototype.concat / ‘+’

  • String.prototype.concat(…c,a,t'c','a','t')//‘cat’

Array.prototype.join()

join()将一个数组(或类数组)所有元素连接成一个字符串并返回。当指定 ’’ 为分隔符,相当于所有元素直接相连

  • c,a,t'c','a','t'.join(’’) //‘cat’