ES6 语法

ES6

let 和 const
for(var i = 0; i < 5; i++){
    console.log(i);
}
console.log("循环外:" + i)

console.log(“循环外:” + i) :会打印出来,结果: 5
var定义的变量会成为全局变量,
使用let声明局部变量

            //1.let声明局部变量
 			 for(var let = 0; i < 5; i++){
			     console.log(i);
			 }
			 console.log("循环外:" + i)

在这里插入图片描述

const 声明的变量是常量,不能被修改
const person={
				name:"lisi",
				age:15
			};
			person={
				name:"lisi",
				age:11
			}

在这里插入图片描述

字符串扩展

  • includes():返回布尔值,表示是否找到了参数字符串。
  • startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
  • endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。
    在这里插入图片描述

解构表达式

数组
			 let arr = [1,2,3]
			 const [x,y,z] = arr;// x,y,z将与arr中的每个位置对应来取值
			// // 然后打印
			console.log(x,y,z);   // 结果: 1  2  3
对象
            const person={
				name:"jack",
				age:22,
				language:['java','python','css']
			}
			
			const {name,age,language} = person;
			console.log(name);
			console.log(age);
			console.log(language);

运行结果:
在这里插入图片描述

const person={
				name:"jack",
				age:22,
				language:['java','python','css']
			}
			
			const {name:n,age,language} = person;   // name:n n为name别名
			console.log(n);
			console.log(age);
			console.log(language);

结果同上

函数优化

             function add(a,b){
				// 判断b是否为空,为空就给默认值1
			 	b = b || 1;
			 	return a+b;
			 }
		     // 传一个参数
			 console.log(add(10))
			
			 function add(a,b=1){
		    	return a+b;
			}
			console.log(add(10))
			
箭头函数
           var print = function (obj){
				console.log(obj);
			}
			// 简写为====》
			var print2 = obj =>console.log(obj);
			// 多个参数时:
			// 两个参数时:
			var sum = function(a,b){
				return a+b;
			}
			// 简写为====》
			var sum2 = (a,b) => a+b;
			// 代码不止一行,可以用{}括起来
			var sum3 = (a,b) => {
				return a + b;
			}
对象的函数属性简写
              let person = {
				name:"jack",
				// 之前:
				eat:function(food){
					console.log(this.name+"在吃"+food);
				},
				//箭头函数版:
				eat2:food => console.log(this.name+"在吃"+food),
				
				//简写版:
				eat3(food){
				        console.log(this.name + "在吃" + food);
				    }
箭头函数结合解构表达式
       // 箭头函数结合解构表达式
			const person = {
			    name:"jack",
			    age:21,
			    language: ['java','js','css']
			}

			function hello({name}){
				console.log("hello,"+name)
			}
			
			hello(person)

在这里插入图片描述
如果用箭头函数和解构表达式

            var hi = ({name}) =>  console.log("hello," + name);
			console.log(hi(person))

map 和 reduce

map():接收一个函数,将原数组中的所有元素用这个函数处理后放入新数组返回。
parseInt:转为int类型

             //map
			let arr = ['1','20','-5','3'];
			console.log(arr)
			
			arr = arr.map(s => parseInt(s));
			console.log(arr)

在这里插入图片描述
reduce():接收一个函数(必须)和一个初始值(可选)。

第一个参数(函数)接收两个参数:

  • 第一个参数是上一次reduce处理的结果
  • 第二个参数是数组中要处理的下一个元素

reduce()会从左到右依次把数组中的元素用reduce处理,并把处理的结果作为下次reduce的第一个参数。如果是第一次,会把前两个元素作为计算参数,或者把用户指定的初始值作为起始参数

	        const arr = [1,20,-5,3];
			let a=arr.reduce((a,b) => a+b);
			console.log(a);
			

在这里插入图片描述

对象扩展

  • keys(obj):获取对象的所有key形成的数组
  • values(obj):获取对象的所有value形成的数组
  • entries(obj):获取对象的所有key和value形成的二维数组。格式:[[k1,v1],[k2,v2],...]
  • assign(dest, …src) :将多个src对象的值 拷贝到 dest中(浅拷贝)。

在这里插入图片描述

           // 对象扩展
			let p={name:"lisi",age:20};
			
			// 将后面的对象中的属性复制到p中
			Object.assign(p,{sex:0},{birth:19881027});
			console.log(p)
			

在这里插入图片描述

数组扩展

  • find(callback):数组实例的find方法,用于找出第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined。
  • findIndex(callback):数组实例的findIndex方法的用法与find方法非常类似,返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1。
  • includes(数组元素):与find类似,如果匹配到元素,则返回true,代表找到了。
           // 数组扩展
			let arr=[1,20,-5,3];
			//let t=arr.find(s=>s==20);   // return 20
			//let t=arr.findIndex(s=>s==20);   // return :1 代表找到了
			let t=arr.includes(20);   // return true:代表找到了,找不到返回false
			console.log(t)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值