Java教程

es6

本文主要是介绍es6,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

ES6简介

- ECMAScript是javascript标准

- ES6就是ECMAScript的第6个版本

- ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

ES6新增加的功能:

1.let就是限制作用域中的var{ },只能在花括号内的使用

 

let es = function() {
    let num = 10
    //结果是10
    console.log('函数内的num', num)
}
//结果是报错,因为let声明的变量只能在{}内有效
console.log('函数外的num', num)

 

2.const 用变量来声明一个变量,这个变量只能在声明的时候被赋值,后续不可以用值对他进行覆盖

let es2 = function() {
    const value = 10
    //结果是10
    console.log(value)
    const value = 20
    //会报错,因为const只能在声明的时候赋值,不可以重新赋值
    console.log(value)
}
es2()

 

3.set在其他语言里称之为集合,是一种类似于array和object的数据类型,不同之处在于set的元素都是不重复的

//创建一个set集合
var s = new Set()
//add是添加元素
s.add(1)
s.add('gua')
//size是查看集合长度
s.size
//has是用来检查是否存在某个元素,结果是个布尔值,true或false
s.has(1)
//delete是删除一个元素
s.delete(1)

4. (...叫拓展符号),作用是吧数组1解开成单独的元素

//先新建一个数组array
let array = [1, 3, 6, 4 ,5, 9]
//...是拓展符号,把数组解开成单独的元素
let arr = {...array}

5.解包,是从python中学来的特性

//解包 //可以给多个变量赋值 var [a, b] = [1, 2] //a = 1 b = 2 console.log(a, b) //a=b b=a [a, b] = [b, a] //(2) [2, 1] // 0: 2 // 1: 1 // length: 2 // [[Prototype]]: Array(0)

 

6.函数的默认值

var foo = function(n, name = "gua") {
    console.log(n, name)
}
//如果传一个参数第一个n那就是参数的值,第二个直接输出
//如果传入两个参数那么就输出两个参数的值
//这就是函数的默认值
foo(11)

 

7.可变参数  用...语法可以实现可变长度的参数,多余的参数会被放进一个array数组,这个数组可以是任何名字

var value = function(a, ...arr) {
    //结果是1, 3
    console.log(a, arr.length)
    //输出结果是2 3 4
    console.log(arr)
}
value(1, 2, 3, 4)

 

8.箭头函数

1.箭头函数是匿名函数定义的简化版,宣称能使得代码更加简洁

2.它的this值是绑定了的

3.箭头函数每天arguments对象

4.如果要多参数必须要用...

(参数一,参数二) => {
    语句
}
//相当于 
function(参数一,参数二) {
    return 语句
}

//如果只有一个参数,圆括号可以省略

(参数一) => {语句} 等于 参数一 => {语句}

//但是如果没有参数,必须要使用圆括号

() => {
    语句
}

例子

var a2 = a1.map(function(n) {
    return n * n
})
//相当于
var a2 = a1.map(n => n*n)

n => n*n
//相当于
function (n) {
    return n*n
}

9.双重匿名函数

a => b => a + b

 

10.新增函数includes函数,可以用来查找返回值,查询一个数组是否存在要查询的元素,如果有就返回true没有就返回false

 

这篇关于es6的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!