ES6-字符串的扩展

1. 字符的 uicode 表示法

Unicode 码点范围 0000 ~ ffff, 超出范围的 es5 识别不出,ES6 中使用 ‘{}’ 大括号将 Unicode编码 包含,可以识别出超出码点范围的 Unicode编码

\u 表示这是一个 Unicode编码

eg:

// Unicode 码点范围 0000 ~ ffff, 超出范围的 es5 识别不出, 汉字 “𠮷” 的Unicode码为 20BB7,超出了范围- - -“吉(ji)” 同音,
console.log('\u20BB7')      // ES5 写法不能识别出来,按照 20BB + 7 来识别的
console.log('\u{20BB7}')    // ES6 写法可以识别出来

打印结果:

image.png

2. 字符串的遍历器接口

可以使用 for of 进行字符串的遍历

eg:

for (let i of 'hello') {
    console.log(i)
}

打印结果:

image.png

3. 模板字符串:``

普通字符串在引号之中不能多行显示,只能一行,字符串里面有变量的话,需要字符串连接

模板字符串简化了上面的情况,可以直接多行书写,有变量的话用 ${} 包裹
函数的调用也可以结合模板字符串使用

使用示例:
const poem = '《钱塘湖春行》\n唐·白居易\n孤山寺北贾亭西,水面初平云脚低。\n几处早莺争暖树,谁家新燕啄春泥。\n乱花渐欲迷人眼,浅草才能没马蹄。\n最爱湖东行不足,绿杨阴里白沙堤。'
console.log(poem)

const poem2 = `《钱塘湖春行》
唐·白居易
孤山寺北贾亭西,水面初平云脚低。
几处早莺争暖树,谁家新燕啄春泥。
乱花渐欲迷人眼,浅草才能没马蹄。
最爱湖东行不足,绿杨阴里白沙堤。`
console.log(poem2)

let a = 9
let b = 1
let text = '史迪仔今年' + a + b + '岁啦'
console.log(text) 
let text2 = `史迪仔今年${a+b}岁啦`
console.log(text2)


const foo = (a, b, c, d, e, f) => {
    console.log(a)
    console.log(b)
    console.log(c)
    console.log(d)
    console.log(e)
    console.log(f)
}

const t1 = '星期二'
const t2 = '微晴'
const t3 = '还行'
const t4 = '不大'

foo`今天是${t1},天气${t2},今日心情~${t3},今日风量~${t4}`


let isBig = true

let className = `icon${isBig ? ' iconBig' : ' iconSmall'}`
console.log(className)

打印结果:

image.png

结合函数使用时,第一个参数是代表字符串中没有被替换的东西,后面依次是被替换的变量内容,undefined是因为函数中定义了参数,但是调用函数时,没有使用变量传入参数

4. 字符串的一些操作方法

ES5 中 String.fromCharCode(Unicode编码) 可以返回 码点之内的 字符,之外不能识别

ES6 中 String.fromCodePoint() 解决了这个问题

还有一些操作方法:
includes()- - -查找字符串是否包含某一字符或某一字符串
startsWith()- - -检查字符串是否以某值开始
endsWith()- - -检查字符串是否以某值结尾
repeat()- - -将字符串重复指定次数

示例:
console.log(String.fromCharCode(0x20BB7)) // ES5 超出码点的识别不了
console.log(String.fromCodePoint(0x20BB7))  // ES6 可以识别超出码点的 “𠮷”

const word = '你好,世界'
console.log(word.includes('你'))
console.log(word.includes('她'))

console.log(word.startsWith('你'))
console.log(word.endsWith('你'))

console.log(word.startsWith('世界'))
console.log(word.endsWith('世界'))

let newWord = word.repeat(8)
console.log(newWord)

打印结果:

image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值