JavaScript ES6部分特性
时间:2026-06-05 15:41:37
来源:幸福记忆
作者:远方
阅读:111
一、ECMAScript与javascript关系
ECMAScript是一种规格,javascript是对规格的一种实现。
ES5 2011
ES6 2015
二、let与const
let定义的变量不具有提升功能。
const关键是用于定义常量。
三、解构
//案例一:es6 数组解构
let [a,b,c] = [1,5,9];
alert(a);
//案例二:统一归类
let [group,...users]=['开发组', '张三', '李四', '王五']
//默认值
let [a,b='def'] = ['name',undefined];
alert(b); //def
//对象解构
var { foo, bar } = { foo: "aaa", bar: "bbb" };
foo // "aaa"
bar // "bbb"
//函数参数解构
function sum([a,b]) {
return a+b;
}
sum([2,4]);
四、字符串扩展
1、at()
es5中,charAt()方法查找字符时,字符的范围\u0000~\uffff。 一旦
超出范围后,就会出错。在es6中可以使用at()。
2、includes(), startsWith(), endsWith()
includes() #包含
startsWith() #匹配开始
endsWith() #匹配结束
3、repeat()
字符串重复
'a'.repeat(3); #字符a重复3次
4、padStart(),padEnd()
字符串补全, es7
//快递单,手机号
let phone = '5427';
alert(phone.padStart(8, '*')); //****5427
5、模板字符串
在js的多行字符串中,引入变量。es5中需要拼接实现。
模板字符串可以使用反引号将多行字符串引起来,内部直接
使用${变量名} 拼接字符。
let [title, grf] = ['文章标题', '文章段落'];
let template = `<div>
<h1>${title}</h1>
<p>${grf}</p>
</div>`;
说明:
${} 表示引用符
五、class
class Person {
//构造器
constructor(name, age) {
this._name = name;
this._age = age;
}
getName() {
return this._name;
}
printInfo() {
document.write(`姓名:${this._name}; 年龄:${this._age}`);
}
}
let p1 = new Person('张三', 25);
p1.printInfo();六、module
js:
export function test() {
alert("hello world");
}
let userName = '张三';
export default userName
说明:
- export 表示导出,在一个js文件中允许出现多个
- default 表示默认导出,一个js文件中只允许出现一个,一旦用
default修饰后,后面的名称没有意义,在导入时,可以设置别名。
html:
<script type="module">
import name,{test} from 'js路径'
test();
</script>
说明:
- import...from 表示从哪个js module中导入
- {}中表示要导入的具体模块(没有被default修饰的)
- name相当于默认的别名
七、箭头函数
function(){} //old
(参数列表)=>{函数体} //new