ES6简洁功能

41 阅读2分钟

ES6简写

声明变量

let const

let与var的区别

  1. let在变量定义前不能使用

  2. 变量重名 var后面的会覆盖前面的 let 则报错

  3. 块级作用域{} 只能在大括号内使用

    let与const区别

let 变量

const 常量(其与var区别于let一样)

  1. let可以再次修改,const不行

    let name="1"
    name="2"//2
    
  2. const obj={
        name="111"//此处可以改变
    }//const就想一个盒子属于一个地址一个位置
    

应用场景 选项卡中记住选中位置

箭头函数

//原来定义方法
var test1=function(){
    console.log("1111")
}
//现在定义fangfa
vartest2=()=>{
    console.log(22222)
}
test1()
test2()

特点

  1. 只有一个形参的时候()可以省略

  2. {}在只有一句代码时可以省略

  3. 没有arguments

  4. this指向问题

    箭头函数没事this

    箭头函数this是父级作用域的

var list=a=>100*a

解构赋值

解释:快速的从对象和数组中获取里面的成员

   var arr=["xiaoming","teichui","shanzhen"]
   ler[x,y,z]=arr//若想要第一个则输入下x,想要第二个则输入y
console.log(x,y,z)

交换位置

var a=10
var b=20
var[b,a]=[a,b]
console.log(a,b)

多维度数组选择

var arr2=[1,2[3,4,[5]]]//多维度数组
console.log(arr2[2][2][0])
//排序按照012排列

多维度赋值

屏幕截图 2023-11-17 122636.png

在对象上的用处

不用多次取

var obj={
    name:"1"
    age:10
    location:"dsw"
}
//原来
document.write(obj.name)
document.write(obj.age)
document.write(obj.location)
//现在
let {name,age,location}=obj
//相比之下更加的简短

展开运算符

连接两个数

...展开数组

//原来的
var a=[1,2,3]
var b=[4,5,6]
console.log(a.concat(b))
//现在
var a=[1,2,3]
var b=[4,5,6]
var c=[...a,...b]
console.log(c)

改变数组但不影响原数组

slice concat不传值

...复制

var a=[1,2,3]
var c=[...a]
console.log(a,b)

...参数 实参 形参

var test=function(...arr){
    console.log(arr)
}
test(1,2,3,4,5)

...伪数组转换

function test(){
    console.log(arguments.map)//伪数组不能用map
}
test(1,2,3,4,5)
​
//之前
function test(){、
var arr=Array.from(argyments)
    console.log(arr.map)
}
test(1,2,3,4,5)
//现在
function test(){、
var arr=[...arguments]
    console.log(arr)
}
test(1,2,3,4,5)

...对象

var obj1={
    name;“决定是否”
    age:23
}
var obj2={
  location;"dfsjfd"
}
var obj={
    ...obj1,
    ...obj2
}
console.log(obj)

屏幕截图 2023-11-18 000905.png

模块化语法

//导出
export{
A1,
    A2,
   test,
A_A
}
//导入
<script type="module">
    import{A1,A2,testA_A}from'./module/1.js'
    A1()
A2()
test()
    </script>
//导入
<script src "./module/c.js" type="module"><script>
    
    

引用外部文件