es6 语法 (字符串扩展)

{
console.log(‘a‘,`\u0061`); //a,a
console.log(‘s‘,`\u20BB7`); //s ?7
console.log(‘s‘,`\u{20BB7}`) //s ??

}
//charCodeAt 和 codePointAt
{
let s = ‘a‘;
let a = ‘??‘;
console.log(‘length‘,s.length,a.length); //1,2
console.log(‘0‘,a.charAt(0)); //取字符 0 ?
console.log(‘1‘,a.charAt(1)); //取字符 1 ?
console.log(‘0‘,a.charCodeAt(0)); //取编码 0 55362
console.log(‘0‘,a.charCodeAt(1)); //取编码 0 57271

let s1 = ‘??a‘;
console.log(‘length‘,s1.length); //length 3 ??占俩字符
console.log(‘code0‘,s1.codePointAt(0)); //code0 134071 为十进制
console.log(‘code0‘,s1.codePointAt(0).toString(16)); //code0 20bb7 为十六进制
console.log(‘code1‘,s1.codePointAt(1)); //code1 57271
console.log(‘code2‘,s1.codePointAt(2)); //code2 97 其实就是a
}
//fromCharCode 和 fromCodePoint
{
console.log(String.fromCharCode(‘0x20bb7‘)); //?
console.log(String.fromCodePoint(‘0x20bb7‘));//??
}
//code 处理遍历编码
{
let str = ‘\u{20bb7}abc‘;
for(let i=0;i<str.length;i++){
console.log(‘es5‘,str[i]); //? ? a b c
}

for(let code of str){
console.log(‘es6‘,code); //?? a b c
}

}

//includes startsWith endsWith 包含,开始,结束某字符串
{
let str = ‘string‘;
console.log(‘include‘,str.includes(‘c‘)); //include false
console.log(‘start‘,str.startsWith(‘str‘)); //start true
console.log(‘end‘,str.endsWith(‘ng‘)); //start true
}
//复制
{
let str = ‘abc‘;
console.log(str.repeat(2)); //abcabc
}
//模板字符串
{
let name = ‘list‘;
let info = ‘hell world‘;
let m = `i am ${name},${info}`;
console.log(m); //i am list,hell world
}
//补白 padStart padEnd 1不够两位,给它补一个0.
{
console.log(‘1‘.padStart(2,‘0‘)); //01
console.log(‘1‘.padEnd(2,‘0‘)); //10
}
//标签模板
{
let user = {
name:‘list‘,
info:‘hello world‘
};
abc`i am ${user.name},${user.info}`;
function abc(s,v1,v2){
console.log(s,v1,v2); // "i am ", ",", ""
}
}
{
let user = {
name:‘list‘,
info:‘hello world‘
};
console.log(‘111‘,abc`i am ${user.name},${user.info}`); // 111 i am ,,,listhello world
function abc(s,v1,v2){
console.log(‘222‘,s,v1,v2); // 222 "i am ", ",", ""
return s+v1+v2;
}
}

//raw 转义
{
console.log(String.raw`Hi\n${1+2}`); // Hi\n3
console.log(`Hi\n${1+2}`); // Hi 3
}

时间: 2024-08-10 23:30:10

es6 语法 (字符串扩展)的相关文章

ES6 之 字符串扩展

字符串所有的方法,都 不会修改字符串本身(字符串是不可变的),操作完成会 返回一个新的字符串. 将一个值转化为字符串,.toString()方法,但是null和undefined值没有这个方法, 1.字符的Unicode("\uxxxx")表示法 xxxx -- 表示Unicode的码点,但是这种码点在\u0000~\uFFFF之间的字符.超出这个范围额字符,必须用2个双字节的形式表示. 如果直接在\u后面跟上超出范围的值,如\u20BB7,js会理解成\u20BB + 7,由于\u2

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" // "??" 注意不是吉祥的"吉"