以下就是JavaScript6中字符串的四个新用法:
一、Unicode字符的新表示方法
Unicode字符通常是21个bit的,而普通的JavaScript字符(大部分)是16bit的,可以编码成UTF-16。超过16bit的字符需要用2个常规字符表示。
比如,下面的的代码将会输出一个Unicode小火箭字符(‘\uD83D\uDE80'),你可以在浏览器的console里试一下:
console.log('\uD83D\uDE80');
在 ECMAScript 6 里,可以使用新的表示方法,更简洁:
console.log('\u{1F680}');
二、多行字符串定义和模板字符串
模板字符串提供了三个有用的语法功能。
首先,模板字符串支持嵌入字符串变量:
let first = 'Jane'; let last = 'Doe'; console.log(`Hello ${first} ${last}!`); // Hello Jane Doe!
第二,模板字符串支持直接定义多行字符串:
let multiLine = ` This is a string with multiple lines`;
第三,如果你把字符串加上String.raw
前缀,字符串将会保持原始状况。反斜线(\)将不表示转义,其它专业字符,比如 \n 也不会被转义:
let raw = String.raw`Not a newline: \n`; console.log(raw === 'Not a newline: \\n'); // true
三、循环遍历字符串
字符串可遍历循环,你可以使用 for-of
循环字符串里的每个字符:
for (let ch of 'abc') { console.log(ch); } // Output: // a // b // c
而且,你可以使用拆分符 (...) 将字符串拆分成字符数组:
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()
方法能重复复制字符串:
> 'doo '.repeat(3) 'doo doo doo '
总结
以上就是关于Javascript6中字符串的四个新用法,大家都学会了吗?希望这篇文章对大家能有所帮助,如果有疑问大家可以留言交流。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。