es6变量 数字 解构赋值

2015之后
ECMAScript 6.0

变量:
let:
1、没有变量提升(在同一作用域下,变量必须要声明之后才能使用,使用未声明的变量会报错,在创建变量到变量可以访问的一段时间称为暂时性死区TDZ)
2、全局作用域下声明的变量不作为window的属性
3、块级作用域({})
4、同一作用域下不能重复声明

const:常量,固定不变的值
包含let特点
写法上变量名通常用全大写字母表示
声明时必须赋值
不能重新赋值,引用类型可以修改数据
    冻结:Object.freeze()
    深冻结:递归实现

Object.keys()  键
values()  值
entries() 键值对
解构赋值:
    等号左右两边完全一致,称为完全解构
    不一致:
        不完全解构
        报错

    解构分为 模式和变量,当模式对应时,可以获取变量的值

    用途:
        多个变量一次赋值
        函数返回多个变量的值
        用于函数参数,及默认值
数组
    let [a,b]=[1,2]
    let [a,[b,[c]]]=[1,[2,[3]]]
    let [a,b,c]=[1]   [,1]   [,,1]
    let [a,...b]=[1,2,3]  a=1,b=[2,3],
        ...b只能放在最后,表示剩余
    let [a,b,c=8]=[1,2,3],c=3,8是默认值,默认值在赋值严格等于undefined时生效
    当赋值不是undefined时,默认值中的函数调用不会执行

    let [a]=1
对象
    let {a}={a:10},等号左边的a代表模式和变量都是a
    let {x,n:{y},z}={x:3,n:{y:5},z:7}
   
    let [a,...b]=[1,2,3]   b=[2,3]
    let {a,...b}={a:1,b:2,c:3}  b={b:2,c:3}

    let {random,floor,abs}=Math;
    //Math={random:fn,floor:fn,abs:fn,round:fn}
    console.log(random(),floor(3.9),abs(-20))
字符串
    模板字符串
    ES5: ''  ""
    ES6:``
        字符串拼接时,变量或表达式用#${},{}中可以时字符串、变量、表达式、函数调用
parseInt\parseFloat\isNaN\isFinite   全局方法
toFixed()  实例方法 (Number.prototype上)

ES6:
Number.parseInt()  与parseInt一致
Number.parseFloat()
Number.isNaN(x),当x是NaN的时候,结果是true,否则是false
    isNaN(n)先对n进行Number()转换,转换结果是NaN时,最终是true,否则是false
Number.isFinite(x),只要x是数字,结果是true,否则是false
    isFinite(n)先对n进行Number转换,结果是数字,返回true,否则是false
_______________________________________
数学函数Math
floor\ceil\round\abs\random\max\min\pow\sqrt

ES6:
trunc(),去小数
sign(n),n是正数结果是1,n是负数-1, n=0结果是0,n=-0,结果是-0
cbrt(),开立方

______________________________________
新数据类型:BigInt,大整数,第六个基本类型
typeof 2n    结果是 "bigint"
大整数不能与number进行计算
 
 
posted @ 2022-09-15 15:31  爱迷路的天天  阅读(54)  评论(0)    收藏  举报