从今天开始学习es6

ES6新增语法


Let变量

ES6中新增了用于声明变量的关键字let。
let具有以下特点:
1.let声明的变量只在所处于的块级有效
2.不存在变量提升
3.暂时性死区

if (true) { 
     let a = 10
 }
console.log(a) // a is not defined

conset常量

声明常量,常量就是值(内存地址)不能变化的量。
const具有以下特点:
1.具有块级作用域
2.声明常量时必须赋值
3.常量赋值后,值不能修改

 if (true) { 
     const a = 10
 }
console.log(a) // a is not defined

解构赋值

ES6中允许从数组中提取值,按照对应位置,对变量赋值,对象也可以实现解构


数组解构赋值

1.只解构一个

 let arr = ['a','b','c','d','e','f']
 let [a] = arr
 alert(a)
 
 let [,b,] = arr
 alert(b)

2.合并数据

 let arr = ['a','b','c','d','e','f']
 let arr2 = [0,1,2]
 let longArr = [...arr,...arr2]
 console.log(longArr)

3.剩余参数rest,解构两个把剩余的放一起

 let arr = ['a','b','c','d','e','f']
 let arr2 = [0,1,2]
 let [a,b,...newArr] = arr
 let longArr = [...arr,...arr2]
 alert(newArr[0]);

4.默认值

 let [n1,n2,n3,n4=1] = arr2
 alert(n4)

对象解构赋值

1.基本解构:重命名属性

 let zs = {
            name:"张三",
            gender:"男",
            age:18
        }
 let {name:zsName,gender,age} = zs
 alert(zsName)

2.对象的默认值

 let zs = {
            name:"张三",
            gender:"男",
            age:18
        }
 let{name:zsName,gender,age,salary:money = 10000} = zs
 alert(money)

3.实例

 let zs = {
            name:"张三",
            gender:"男",
            age:18
        }
 function selfIntroduction({name:zsName,age,gender,salary:money = 10000}){//形参
            // alert("我叫"+zsName+"今天"+age+"性别"+gender+"月入"+money);
            //模板字符串:`` ${}
            alert(`我叫${zsName}今天${age}性别${gender}月入${money}`)
        }
        //调用函数
        selfIntroduction(zs);//传入实参

箭头函数


1.计算两个数组的和

 let numSum = (a,b) => a + b
 console.log(numSum(1,2))

2.箭头函数一:一个参数(可以省略小括号),一个语句(省略{},return)

 let result = n => n * 2
 console.log(result(4))

3.箭头函数二:大于一个参数必须使用小括号,一个语句(省略{},return)

 let numSum = (a,b) => a + b
 console.log(numSum(1,2))

4.箭头函数三:没有参数必须写小括号,多语句必须使用{}

 let say = () => {
            console.log("你好")
            console.log("再见")
        }

5.如果函数有返回值

 let result = n => n * 2//单语句箭头函数默认返回结果
        console.log(result(4))

        let rs = function(n){//有返回值的函数
            return n * 2
        }
        console.log(rs(3))

新增方法


forEach 循环遍历

为每一项+10

 let arr = [0,1,2,3]
 arr.forEach(function(item,index,a){
            console.log(item+10);
        })

常用方式

 let arr = [0,1,2,3]
 arr.forEach(item => console.log(item+10))

map 循环遍历 有返回值

 let arr = [0,1,2,3]
 let result = arr.map(item => item+10)
 console.log(result)

filter 过滤数组

 let arr = [0,1,2,3]
 let newArr = arr.filter(item => item>1)
 console.log(newArr)

some判断数组是否至少有一个值通过条件,返回布尔类型

 let arr = [0,1,2,3]
 let result = arr.some(item => item>1)
 console.log(result)

trim 去掉字符串前后两端的空格

 let a = "  今  天星 期几? "
 let na = a.trim()
 console.log(na)

startsWith

判断开始是否为“今”,返回布尔

 let a = "  今  天星 期几? "
 let na = a.trim()
 console.log(na.startsWith("今"))

判断第二个是否为“天”,返回布尔

 let a = "  今  天星 期几? "
 let na = a.trim()
console.log(na.startsWith("天",2))

endsWith

判断结束是否为“?”,返回布尔

 let a = "  今  天星 期几? "
 let na = a.trim()
 console.log(na.endsWith("?"))

find返回数组中满足条件的第一个元素的值。否则返回undefined

 let result = arr.find(item => item>1)
 console.log(result)

findIndex返回数组中满足条件的第一个元素的索引。若没有找到对应元素则返回-1

 let result = arr.findIndex(item => item>1)
 console.log(result)

includes方法用来判断一个数组是否包含一个指定的值,如果包含则返回 true否则返回false

 let result = arr.includes(2)
 console.log(result)

对象的方法


keys返回一个包含该对象所有键的数组

  let obj = {
            a:"张三",
            b:"李四",
            c:"王五",
        }
  let propA = Object.keys(obj)
  console.log(propA)
  

values返回一个包含该对象所有值的数组

  let obj = {
            a:"张三",
            b:"李四",
            c:"王五",
        }
  let propB = Object.values(obj)
  console.log(propB)

entries返回一个包含该对象所有键值对的数组

  let obj = {
            a:"张三",
            b:"李四",
            c:"王五",
        }
  let propC = Object.entries(obj)
  console.log(propC)

有空在写下面的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值