ES6
ECMAScript 6.0(简称 ES6)是 JavaScript 语言的下一代标准,在2015年6月正式发布。
- ES6 的第一个版本,在2015年6月发布,正式名称是《ECMAScript 2015标准》(简称 ES2015)。
- 2016年6月,小幅修订的《ECMAScript 2016标准》(简称 ES2016)发布,这个版本可以看作是 ES6.1 版,也被称作ES7
- 2017年6月发布 ES2017 标准,也被称作ES8
- …
- 因此,有时候我们用ES6来代指ECMAScript2015以及之后的版本
模板字符串
-
定义比较长,复杂字符串 如html代码
注意:模板字符串可以表示多行字符串,所有的空格和缩进都会被保留在输出之中。你不想要这个换行,可以使用trim方法消除它
-
模板字符串中写 ` 需要转义
-
模板字符串中插入变量 ${变量名}
-
模板字符串中插入函数的调用 ${函数名()}
注意: 模板字符串可以紧跟在一个函数名后面,该函数将被调用来处理这个模板字符串。这被称为“标签模板” 比如 alert(123) 使用标签模板 可以写成 alert
123标签模板其实不是模板,而是函数调用的一种特殊形式。“标签”指的就是函数,紧跟在后面的 模板字符串 就是它的参数.
例:
//模板字符串
let html = `
<div>\`
<div>
<p>Lorem ipsum dolor sit amet.</p>
<a href="#">${username}</a>
<p>${fn()}></p>
</div>
</div>
`;
输出结果:

重复输出方法:
repeat();
let str = "hellow";
console.log(str);
console.log(str.repeat(3));
console.log('a'.repeat(10))
输出:

字符串补全长度的方法:
padStart() ;
padEnd();
//字符串补全长度的方法
let str = "hellow";
console.log(str);
console.log(str.padStart(10))
console.log(str.padStart(10, "*"))
console.log(str.padStart(10, "abc"))
console.log(str.padEnd(12));
console.log(str.padEnd(12, "*"));
输出:

字符串验证:
includes();是否包含
startsWith();是否以什么开头
endsWith();是否以什么结尾
//字符串包含验证
let str = "hellow world";
console.log(str.includes('a'));
console.log(str.includes('ow'));
console.log(str.startsWith('hellow'));
console.log(str.startsWith('h'));
console.log(str.endsWith('world'))
console.log(str.endsWith('d'))
输出:

作业:
模拟一个模板字符串的实现:
let address = '北京海淀区'
let name = 'lala'
let str = '${name}在${address}上班...'
// 模拟一个方法 myTemplate(str) 最终输出 'lala在北京海淀区上班...'
function myTemplate(str) {
}
console.log(myTemplate(str)) // lala在北京海淀区上班...
答案:
function myTemplate(str) {
str = str.replace(/\$\{([a-z]+)\}/g, function () {
let tmp = 'var aa=' + [arguments[1]];
console.log(tmp);
eval(tmp);
return aa;
})
return str;
}
本文由 倪建成学习时 编辑,只是普通笔记。若是对你有用,可以自行转载
最后编辑时间为:2019-08-29 00:00:00