ES6基本语法

1.ES6 是什么

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

2. let声明变量与const声明常量

(1)letconst 声明的变量会被所有代码块限制作用范围
在这里插入图片描述

(2)letconst 不允许重复声明变量
在这里插入图片描述
(3)letconst 声明的变量不会在预解析的时候解析(也就是没有变量提升)

在这里插入图片描述

(4)letconst 不与顶层对象(如window)挂钩

var myage = 100
console.log(window.myage) //100
let myage1 = 100
console.log(window.myage) // undefined

(5)letconst 的区别
在这里插入图片描述

3、解构赋值

解构赋值是对赋值运算符的扩展。他是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据字段获取。
(1)数组解构
在这里插入图片描述
(2)对象解构
在这里插入图片描述

4、模板字符串

(1)ES5 中我们表示字符串的时候使用 '' 或者 "",在 ES6 中,可以用反引号``来表示字符串
在这里插入图片描述
(2)反引号和单引号好友双引号的区别
①反引号可以换行书写
在这里插入图片描述
②反引号可以直接在字符串里面拼接变量
在这里插入图片描述

4.1 字符串扩展- includes函数

判断字符串中是否存在指定字符
在这里插入图片描述

4.2 字符串扩展- repeat函数

repeat()方法返回一个新字符串,表示将原字符串重复n次
在这里插入图片描述

5.数值扩展

5.1 二进制和八进制表示法

在这里插入图片描述

5.2 isFinite与isNaN方法

(1)isFinite:否为一个有限数值;
(2)isNaN:检查是否是非数字值
在这里插入图片描述

5.3 isInteger方法

用来判断一个数值是否为整数。

在这里插入图片描述

5.4 极小常量Number.EPSILON

它表示 1 与大于 1 的最小浮点数之间的差。2.220446049250313e-16

function isEqual(a,b){
        return Math.abs(a-b)<Number.EPSILON // 小数的计算是会有误差的,比极小常量还小,则可以认为相等
}

console.log(isEqual(0.1+0.2,0.3)) //true
console.log(0.1+0.2===0.3) //false

5.5 Math.trunc

将小数部分抹掉,返回一个整数。
在这里插入图片描述

5.6 Math.sign

Math.sign方法用来判断一个数到底是正数、负数、还是零。对于非数值,会先将其转换为数值
在这里插入图片描述

6.数组扩展

6.1 扩展运算符

let arr1 = [1,2,3]
let arr2 = [4,5,6]
console.log([...arr1,...arr2]) // ... 可以复制arr1、arr2

6.2 Array.from

将类数组对象转换为真正数组
在这里插入图片描述

6.3 Array.of

将一组值转化为数组,即新建数组
在这里插入图片描述

6.4 find方法

(1)该方法主要应用于查找第一个符合条件的数组元素
(2)它的参数是一个回调函数。在回调函数中可以写你要查找元素的条件,当条件成立为true时,返回该元素。如果没有符合条件的元素,返回值为undefined
在这里插入图片描述

6.5 fill方法

使用自己想要的参数替换原数组内容,但是会改变原来的数组

在这里插入图片描述

6.6 flat与flatMap方法

按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回
在这里插入图片描述

7.对象扩展

7.1 声明对象简写

const age = 12
const name = "Amy"
// 传统
const person1 = {age: age, name: name}
console.log(person1)
// ES6
const person2 = {age, name}
console.log(person2) //{age: 12, name: "Amy"}

7.2 定义方法简写

// 传统
const person1 = {
    sayHi:function(){
        console.log("Hi")
    }
}
person1.sayHi();//"Hi"
// ES6
const person2 = {
    sayHi(){
        console.log("Hi")
    }
}
person2.sayHi()  //"Hi"

7.3 Object.assign

Object.assign(target, object1,object2)的第一个参数是目标对象,后面可以跟一个或多个源对象作为参数。
①target:参数合并后存放的对象
②object1:参数1
③object2:参数2
④如果有相同名称的元素,后面的会把前面的target覆盖掉,如果要保留,可以创建一个空的
在这里插入图片描述

7.4 Object.is

方法判断两个值是否是相同的值,解决之前之前判断相等的痛点,比如+0和-0是否相等,NaN和NaN是否相等。
在这里插入图片描述

8、箭头函数

(1)箭头函数是 ES6 里面一个简写函数的语法方式
(2)重点: 箭头函数只能简写函数表达式,不能简写声明式函数

在这里插入图片描述
(3)语法: (函数的行参) => { 函数体内要执行的代码 }

在这里插入图片描述

8.1 箭头函数的特殊性

(1)箭头函数内部没有 this,箭头函数的 this 是上下文的 this,找上一行可以打印this的地方

在这里插入图片描述
①按照我们之前的 this 指向来判断,两个都应该指向 obj
②但是 fun 因为是箭头函数,所以 this 不指向 obj,而是指向 fun 的外层,就是 window
(2)函数的行参只有一个的时候可以不写 () 其余情况必须写
在这里插入图片描述
(3)函数体只有一行代码的时候,可以不写 {} ,并且会自动 return
在这里插入图片描述
(4)箭头函数内部没有 arguments 这个参数集合
在这里插入图片描述

8.2 函数传递参数的时候的默认值

(1)我们在定义函数的时候,有的时候需要一个默认值出现
(2)就是当我不传递参数的时候,使用默认值,传递参数了就使用传递的参数
在这里插入图片描述

9、对象拓展运算符

// 1、拷贝对象
let person1 = {name: "Amy", age: 15}
let someone = { ...person1 }
console.log(someone)  //{name: "Amy", age: 15}
// 2、合并对象
let age = {age: 15}
let name = {name: "Amy"}
let person2 = {...age, ...name}
console.log(person2)  //{age: 15, name: "Amy"}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值