ES6 之 字符串扩展

字符串所有的方法,都 不会修改字符串本身(字符串是不可变的),操作完成会 返回一个新的字符串。

将一个值转化为字符串,.toString()方法,但是null和undefined值没有这个方法,

1、字符的Unicode(“\uxxxx”)表示法

xxxx —— 表示Unicode的码点,但是这种码点在\u0000~\uFFFF之间的字符。超出这个范围额字符,必须用2个双字节的形式表示。

如果直接在\u后面跟上超出范围的值,如\u20BB7,js会理解成\u20BB + 7,由于\u20BB是一个不可打印字符,所以只会显示一个空格,后面跟一个7。

console.log("\uD842\uDFB7") // ??console.log("\u20BB7") // ?7
console.log("\u{20BB7}") // ??

ES6对这一点做出了改进,只要将码点放入大括号,就能正确解读改字符串了。如上

JS内部,字符换是以UTF-16的格式存储的,每一个字符固定为2个字节。

2、ES5之字符串

字符串的拼接 和 截取

// 拼接
字符串.concat(str1,str2,str3...)
拼接符 +     //推荐使用

// 截取
字符串.slice(start,end) // 前包后不包

// slice() substring() substr() 第一个参数是开始位置,

// slice() substring() 第二个参数是结束位置

// substr() 第二个参数是 返回的长度

let str = abcdefg

console.log(str.slice(2,4)); // cd

console.log(str.substring(2,4)); // cd

console.log(str.substr(2,4)); // cdef

查询字符是否在字符串中存在

字符串.indexOf(); // 返回索引或-1
字符串.lastIndexOf();

去除空白符

字符串.trim();  // 去除字符串两边的空格

字母字符大小写转换

字符串.toUpperCase();     // 转换大写 重点
字符串.toLowerCase();     // 转换小写 重点

字符串替换

字符串.replace(oldStr,newStr);

字符串分割

字符串.split(sp);  // 把一个字符串分割成字符串数组。

3、ES6 之 字符串

let str = ‘abcdefg‘

1、for···of···字符串的遍历器接口

// for···of···字符串的遍历器接口
    for( let codePoint of str) {
      console.log(codePoint) // 返回字符串的每一个字符
      console.log(typeof codePoint) // string
    }

includes() 、startsWith()、 endsWith() 返回的都是boolean值

// includes() startsWith() endsWith() 返回的都是boolean值
// includes() 表示是否能找到参数
// startsWith() 表示参数字符串是否在源字符串开始
// endsWith() 表示参数字符串是否在源字符串结尾
console.log(str.includes(‘cd‘)) // true
console.log(str.startsWith(‘ab‘)) // true
console.log(str.endsWith(‘fg‘)) // true

repeat() 将源字符串复制一遍,返回新的字符串

// 参数是小数 会被取整,0返回空,Infinity或负数会报错,NaN等同于0
console.log(str.repeat(3)) // abcdefgabcdefgabcdefg

padStart() 、padEnd() 字符串补全

    // 如果某个字符串不够指定长度,会在头部或尾部补全长度
    console.log(str.padStart(10,‘0‘)) // 000abcdefg
    console.log(str.padEnd(10,‘0‘)) // abcdefg000  

原文地址:https://www.cnblogs.com/houfee/p/10053788.html

时间: 2024-10-08 14:23:04

ES6 之 字符串扩展的相关文章

ES6之字符串扩展方法(常用)

es6这个String对象倒是扩展了不少方法,但是很多都是跟字符编码相关,个人选了几个感觉比较常用的方法: includes 搜索字符的神器 还记得我们之前如何判断某个字符串对象是否包含特地字符的吗? var str='google'; if(str.indexOf('o')>-1){ console.log('yes'); }else{ console.log('no'); } indexOf本来只是一个获取字符对应位置的方法,因为找到不到会返回-1这个值,就成了判断是否包含的方法,inclu

ES6 ( 三 ) 字符串扩展

一.字符Unicode表示方法 ES6中可以使用以下6种方法表示字符 '\z' === 'z' // true '\172' === 'z' // true '\x7A' === 'z' // true '\u007A' === 'z' // true '\u{7A}' === 'z' // true 二.codePointAt() 该方法和charCodeAt() 作用一样    但是能处理4个字节表示的字符(Unicode码点大于0xFFFF的字符) 三.At() 和charAt()一样  

ES6 的字符串扩展

{ console.log('a',`\u0061`); console.log('s',`\u20BB7`); console.log('s',`\u{20BB7}`); } { let s='??'; console.log('length',s.length); console.log('0',s.charAt(0)); console.log('1',s.charAt(1)); console.log('at0',s.charCodeAt(0)); console.log('at1',s

【es6】字符串扩展

8.模板字符串 模板字符串(template string)是增强版的字符串,用反引号(`)标识.它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量. ${}中可以放   1.变量  2.表达式  3.函数

ES6字符串扩展

前面的话 字符串是编程中重要的数据类型,只有熟练掌握字符串操作才能更高效地开发程序.JS字符串的特性总是落后于其它语言,例如,直到 ES5 中字符串才获得了 trim() 方法.而 ES6 则继续添加新功能以扩展 JS 解析字符串的能力.本文将详细介绍ES6中字符串扩展 子串识别 自从 JS 引入了 indexOf() 方法,开发者们就使用它来识别字符串是否存在于其它字符串中.ES6 包含了以下三个方法来满足这类需求:includes().startsWith().endsWith() [inc

ES6学习笔记(二)——字符串扩展

相信很多人也和我一样,不喜欢这样循规蹈矩的逐条去学习语法,很枯燥乏味.主要是这样学完一遍之后,没过一段时间就忘到九霄云外了.不如实际用到的时候研究它记得牢靠,所以我就整理成笔记,加深记忆的同时便于复习查看. 在这样不断的学习过程中,也提高了自己的总结能力:) 1.字符串的遍历器接口 ES5,数组和对象可以进行遍历,使用for() 和 for...in,还有jq中的each()方法进行遍历. ES6为我们提供了字符串遍历器  for...of 循环遍历 优点:可以识别大于0xFFFF的码点,传统的

ES6学习笔记(let、const、变量的解构赋值、字符串扩展)

一.let命令 1.let命令所在的代码块内有效,var声明的在全局范围内都有效 2.for循环的计数器,就很合适使用let命令 3.let声明的内部变量i和外部变量i是分离的 4.var命令会发生"变量提升"现象,即变量可以在声明之前使用,值为undefined   let命令不会发生"变量提升"现象,它所声明的变量一定要在声明后使用,否则报错 5.let不允许在相同作用域内,重复声明同一个变量 6.let会导致暂时性死区,在代码块内,使用let命令声明变量之前,

【ES6基础】字符串扩展

4.字符串扩展 (1)for...of循环遍历. let foo = [1,2,3,4,5,6] for(let i of foo){ console.log(i); } 结果: (2)includes().startsWith().endsWith() JavaScript 只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中[返回某个指定的字符串值在字符串中首次出现的位置]. ES6 又提供了三种新方法. includes():返回布尔值,表示是否找到了参数字符串. sta

ES6 中字符串的扩展

1. 字符的Unicode表示法 JavaScript允许采用 \uxxxx 形式表示一个字符,其中 xxxx 表示字符的 Unicode 码点. "\u0061" // 表示小写字母"a" 但是这种表示法只限于码点在 \u0000-\uFFFF 之间的字符,有些字符的 Unicode 编码超出了这个范围,那么就必须使用2个双字节的形式表示. "\uD842\uDFB7" // "??" 注意不是吉祥的"吉"