使用let声明的变量具有块级作用域(在花括号内才能访问,在外面访问不到该变量)
例如:防止循环变量在循环外部被访问到
const声明常量:具有块级作用域并且声明常量时必须赋初始值,常量赋值后,值不能修改(地址不能更改)
解构赋值:
例:
let ary=[1,2,3];
let [a,b,c,d]=ary;
abc将被赋值为123,d为undefined;
例:
let person={
name:'lisi',age:30,sex:'男'};
let {
name,age,sex}=person;
箭头函数:箭头函数是用来简化函数定义语法的
const fn =(形式参数)=>{
console.log(123);
}
fn();
在箭头函数中 如果函数体中只有一句代码,并且代码的执行结果就是函数的返回值 函数体大括号可以省略,如果形势参数只有一个,形式参数的小括号也可以省略
const sum = (n1+n2) => n1 + n2;
const result = sum(10,20);
console.log(result);
箭头函数不绑定this关键字,箭头函数中得到this,指向的是他父级的this
function fn (){
console.log(this);
return () =>{
console.log(this);
}
}
const obj ={
name:'zhangsan'};
const resFn=fn.call(obj);//resFn接受fn当中返回的箭头函数
resFn();
例题:
var age=100;
var obj={
age:20,
say:()=>{
alert(this.age);
}
}
obj.say();
//此时弹出的是100,因为obj对象没有产生作用域,箭头函数的this指向window
剩余参数(不确定传入的实际参数个数,只要在形式参数前加...(扩展运算符)):
const sum = (...args)=>{
let total=0;
args.forEach((item)=>{
total+=item;
})
/*
args.forEach(item=>total+=item);
一个参数可以省略小括号,一行代码省略花括号
*/
return item;
}
扩展运算符可以将数组拆分成以逗号分隔的参数序列
let ary=["a","b","c"];
console.log(...ary);
console.log("a","b","c");
扩展运算符可以应用于合并数组
方法一:
let ary1=[1,2,3];
let ary2=[3,4,5];
let ary3=[...ary1,...ary2];
方法二:
ary1.push(...ary2);
扩展运算符可以把伪数组转化为真正的数组,这样就能使用数组的各类方法:
let oDivs = document.getElementsByTagName('div');
oDivs = [...oDivs];
构造函数方法:Array.from():将伪数组或者可遍历对象转化为真正的数组
let arrayLike = {
'0':'a',
'1':'b',
'2':'c',
length:3,
}
let arr2 = Array.from(arrayLike);
console.log(arr2);
var ary=Array.from(arrayLike,(item) => {
return item * 2
})
//var ary = Array.from(arrayLike,item => item*2);
实例方法:includes():表示某个数组是否包含给定的值,返回布尔值
[1,2,3].includes(2)//true
[1,2,3].includes(4)//false
模板字符串解析变量 例:
//用${}可以拼接字符串和变量
let name = `zhangsan`(1左边)
let sayHello = `hello,my name is ${
name}`//hello,my name is zhangsan
模板字符串可以换行:
let result = {
name:'zhangsan',
age:20,
sex:'男'
}
let html = `<div>
<span>${
result.name}</span>
<span>${
result.age}</span>
<span>${
result.sex}</span>
</div>;`
String的扩展方法:
实例方法:startsWith()和endsWith()
startsWith():表示参数字符串是否在原字符串的方法,返回布尔值
endsWith():表示参数字符串是否在原字符串的尾部,返回布尔值
let str = 'Hello world!';
str.startWith('Hello')//true
str.endsWith('!')//true
String的扩展方法:
实例方法:repeat():repeat方法表示将原字符串串重复n次,返回一个新的字符串
'x'.repeat(3)//"xxx"
Set数据结构:
创建set数据结构:const s = new Set();
用set创建数据结构时可以往set当中传入参数,如果传入的参数是一个数组,set会自动去重
set数据结构实例方法:
add(value):添加某个值,返回set结构本身
delete(value):删除某个值,返回一个布尔值,表示删除是否成功
has(value):返回一个布尔值,表示该值是否为set成员
clear(): 清除所有成员,没有返回值
例:
const s=new Set();
s.add(1).add(2).add(3);//向set结构中添加值
s.delete(2);//删除set结构中的2值
s.has(1);//表示set结构中是否有1这个值,返回布尔值
s.clear();//清除set结构中的所有值
JavaScript es6语法
猜你喜欢
转载自blog.csdn.net/ziyue13/article/details/114716364
今日推荐
周排行