ES6(ECMAScript6)学习笔记

一,箭头函数,模板字符串

模板字符串

`模板字符串${变量}`

函数

 function fun(){ };//function fun用>=代替  参数只有一个可以省略小括号 语句只有一句可以省略大括号 

箭头函数

()>={};// 箭头函数没有自己的this
value=>value*2;

二,Set数据结构

 		const s=new Set();
        s.add(2).add(5);//向Set结构添加元素
        s.delete(2);//删除
        s.has(2);//查找Set解构是否有这个值 返回布尔值
        s.clear();//清除Set里的值
        s.add(1);
        s.forEach(value => console.log(value));//遍历Set结构

三,剩余参数

1,剩余参数
利用剩余参数求和

	function fun(...args){//剩余参数 args是一个数组
                let s=0;
                args.forEach(value=>{//利用箭头函数遍历数组
                    s+=value;
                });
                console.log(s);
            }
            fun(1,2,3,5,8);//输出19
            fun(1,5);//输出6

四,扩展运算符

用扩展运算符合并数组

 let arr=[1,2,3];
 let arr1=[4,5,6];
 console.log(...arr);//将数组拆分成以逗号分隔的数据   输出1 2 3 (console.log会将逗号转空格)
 let arr3=[...arr,...arr1];//扩展运算符应用 合并数组 
 //arr3=arr.push(...arr1); 
 console.log(arr3);//[1,2,3,4,5,6];

五,对象解构

{				
let person={
	name:'张三',
    age:20,
    sex:'男'
    }
    let {name,age,sex}=person;//对象解构 
    console.log(name);//输出张三
    console.log(age);//输出20
    console.log(sex);//输出男
	let {name:myname,age:myage}=person;//对象解构 变量的名字和对象属性名字相匹配 匹配成功将对象属性的值赋值给变量
    console.log(myname);//输出张三
    console.log(myage);//输出20
 }

六,数组解构

		let arr=[1,2,3];
        let arr1=[4,5,6];
        let [a,b,c]=arr;//数组解构
        console.log(a);//输出1
      	console.log(b);//输出2
    	console.log(c);//输出3

        let [num,...py]=arr1;//剩余参数 配合 数组解构 使用
        console.log(num);//输出4
        console.log(py);//输出[5,6]

七,字符串

 	var  str='   safd   '
    var str1=str.trim();//去除首尾两端的空格 返回一个字符串
    console.log(str1);//输出safd

	let string1='Hello world!';
   	string1.startsWith('Hello');//true 判断是否以什么开头 返回一个布尔值
    string1.endsWith(' ');//false 判断是否以什么结尾 返回一个布尔值

    let string2=string1.repeat(3);//将原字符串重复3次 返回一个新字符串
    console.log(string2); //输出Hello world!Hello world!Hello world!  

八,数组

	var arr=[21,5,4,55,1];
  	var sum=0;
	arr.sort((p1,p2)=>{//改变原数组
		return p1-p2 //升序排序
		//return p2-p1 //降序排序
	})
    let temp=arr.find(value=>value===55);//查找数组是否有满足条件的元素,找到了返回那个值 没找到返回undefined
    console.log(temp);//输出55

    let index=arr.findIndex(value=> value>40);//查找第一个满足条件的元素 返回一个下标
    console.log(index);//输出3

    let flag1=arr.includes(21);//查找数组中包不包含   返回一个boolean值
    console.log(flag1);//输出true

    arr.forEach(function(value,index,arr){//遍历数组
 		console.log(index+' '+value);
        sum+=value;
   	});
	console.log(sum);//输出86

	var newarr=arr.filter(function( value,index,arr){//筛选数组,返回一个新数组
       		return value>10;
    	})
      	console.log(newarr);//输出21,55

  	var flag=arr.some(function(value,index,arr){//查找数组是否有满足条件的元素,返回一个boolean值
        	 return value<10;
      	})
      	console.log(flag);//输出true

Object.defineProperty

let person={
	name:'张三',
	sex:'男'
};
Object.defineProperty(person,age,{//给对象增加属性 参数对象名  属性名 值和值的属性 
	value:18,//值
	enumerable:true,//控制属性是否可以枚举,默认为false
	writable:true,//控制属性是否可以被修改,默认为false
	configurable:true//控制属性是否可以被删除,默认为false

	//当有人读取person的age属性时,get函数就会被调用,且返回值就是age的值
	get(){
	console.log('有人读取age属性了');
	}
	//当有人修改person的age属性时,set函数就会被调用,且返回值就是age的值
	set(value){
	console.log('有人修改了age属性且值是'+value);
	}
})
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萨达大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值