以下就是JavaScript6中字符串的四个新用法:
一、Unicode字符的新表示方法
Unicode字符通常是21个bit的,而普通的JavaScript字符(大部分)是16bit的,可以编码成UTF-16。超过16bit的字符需要用2个常规字符表示。
比如,下面的的代码将会输出一个Unicode小火箭字符(‘\uD83D\uDE80'),你可以在浏览器的console里试一下:
rush:js;">
console.log('\uD83D\uDE80');
在 ECMAScript 6 里,可以使用新的表示方法,更简洁:
rush:js;">
console.log('\u{1F680}');
二、多行字符串定义和模板字符串
模板字符串提供了三个有用的语法功能。
首先,模板字符串支持嵌入字符串变量:
rush:js;">
let first = 'Jane';
let last = 'Doe';
console.log(`Hello ${first} ${last}!`);
// Hello Jane Doe!
第二,模板字符串支持直接定义多行字符串:
rush:js;">
let multiLine = `
This is
a string
with multiple
lines`;
第三,如果你把字符串加上String.raw
前缀,字符串将会保持原始状况。反斜线(\)将不表示转义,其它专业字符,比如 \n 也不会被转义:
rush:js;">
let raw = String.raw`Not a newline: \n`;
console.log(raw === 'Not a newline: \\n'); // true
三、循环遍历字符串
字符串可遍历循环,你可以使用 for-of
循环字符串里的每个字符:
rush:js;">
for (let ch of 'abc') {
console.log(ch);
}
// Output:
// a
// b
// c
而且,你可以使用拆分符 (...) 将字符串拆分成字符数组:
rush:js;">
let chars = [...'abc'];
// ['a','b','c']
四、字符串包含判断和重复复制字符串
'hello'.startsWith('hell')
true
> 'hello'.endsWith('ello')
true
> 'hello'.includes('ell')
true
'hello'.startsWith('ello',1)
true
> 'hello'.endsWith('hell',4)
true
'hello'.includes('ell',1)
true
'hello'.includes('ell',2)
false
repeat()
方法能重复复制字符串:
总结
以上就是关于Javascript6中字符串的四个新用法,大家都学会了吗?希望这篇文章对大家能有所帮助,如果有疑问大家可以留言交流。
原文地址:https://www.jb51.cc/js/45925.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。