字符串,函数

95 阅读1分钟

字符的 Unicode 表示法

ES6 加强了对 Unicode 的支持,允许采用\uxxxx形式表示一个字符,其中xxxx表示字符的 Unicode 码点。但是,这种表示法只限于码点在\u0000~\uFFFF之间的字符。超出这个范围的字符,必须用两个双字节的形式表示。

字符串的遍历器接口

ES6 为字符串添加了遍历器接口,使得字符串可以被for...of循环遍历。

  

for (let codePoint of 'foo') {
  console.log(codePoint)}

除了遍历字符串,这个遍历器最大的优点是可以识别大于0xFFFF的码点,传统的for循环无法识别这样的码点。

字符串的正则方法

ES6 出现之前,字符串对象共有 4 个方法,可以使用正则表达式:match()、replace()、search()和split()。

ES6 将这 4 个方法,在语言内部全部调用RegExp的实例方法,从而做到所有与正则相关的方法,全都定义在RegExp对象上。

· String.prototype.match 调用 RegExp.prototype[Symbol.match] · String.prototype.replace 调用 RegExp.prototype[Symbol.replace] · String.prototype.search 调用 RegExp.prototype[Symbol.search] · String.prototype.split 调用 RegExp.prototype[Symbol.split]

箭头函数使用需注意:

(1)箭头函数没有自己的this对象。

(2)不可以当作构造函数,也就是说,不可以对箭头函数使用new命令,否则会抛出一个错误。

(3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。

(4)不可以使用yield命令,因此箭头函数不能用作 Generator 函数。

()当有且只有一个参数时,可以省略小括号 {}有且只有1条return语句的时候,可以省略大括号.函数会自动返回函数体的计算结果,不能使用return let sum = (a,b) => a + b; let add = () => console.log(0); console.log(sum(1,2));