zoukankan      html  css  js  c++  java
  • ES6(ECMAScipt6)方法与新增特性汇总

    ES6(ECMAScipt6)方法与新增特性汇总

    概述

    ES6是JavaScript语言的下一代标准,最早发布于2015年6月(ES2015),这里的ES6是一个历史名词,泛指ES2015、ES2016、ES2017...

    let和const

    let与const共同点:

    1. 用法与var 类似都是用来声明变量。
    2. 有块级作用域,只在所在的代码块有效。
    3. 不存在变量提升。
    4. 暂时性死区(在let和const声明语句前调用会报错)。
    5. 不允许重复声明。
    6. 允许在块级作用域声明函数。(ES5版本只能在全局和函数作用域才能声明函数)。

    let与const的不同点

    1. let是变量,声明后可以修改值,const是常量,声明后不可修改值(基本类型),并且声明时必须被初始化。

    解构赋值

    解构赋值就是从数组或对象中提取值,并对变量进行赋值操作。

    实例:

    let [a, b, c] = [1, 2, 3] // 数组解构赋值
    let [a, b, ...c] = [1, 2, 3, 4, 5] // 将多个值赋给c变量
    let [a, b = 10, c] = [1, 2, 3] // 给b变量添加默认值
    let {name, age} = {name: 'xiaoming', age: 20} // 对象解构赋值
    let {name} = {name: 'xiaoming', age: 20} // 只取其中一个
    let {name, age: {num}} = {name: 'xiaoming', age: {num: 20, title: 'age'}} // 嵌套数据的解构赋值
    let [a, b, c, d] = 'abcd' // 字符串的解构赋值
    let {length: len} = 'abcde' // 字符串有个默认的length属性也可以被解构
    let {toString: str} = true // 布尔值有toString方法可以被解构
    let {toString: str} = 123 // 数值有toString方法可以被解构
    function fn([a, b, c]){
      console.log(a, b, c)
    }
    fn([1,2,3]) // 函数的形参可以被解构
    

    字符串的拓展

    字符的Unicode 表示法:支持了超过uFFFF范围的码点(2个字节)

    "u0061"
    "uD842uDFB7" 
    

    字符串的遍历器接口:for ... of

    for (let item of "hello") {
      console.log(item)
    }
    

    模版字符串:

    let str = 124
    let str2 = `num=${str}` // 模版字符串中可以使用 ${}方式添加变量
    

    标签模版:

    function fn (x) {
      console.log(x)
    }
    let str = 'word'
    fn `hello` // 打印 [ 'hello' ]
    fn `
    hello
    ${str}
    ` // 换行、添加变量
    // 用标签模版可以给函数传参数,传递的参数会被转换成数组类型 
    

    字符串的新增方法

    1. String.fromCodePoint() 从 Unicode 码点返回对应字符,识别码点大于0xFFFF的字符。
    2. String.raw() 模版字符串中的 斜杠会被转移成字符 斜杠,会将所有变量替换。方便进一步对数据的处理。
    3. codePointAt() 返回一个字符的码点,能够正确处理 4 个字节储存的字符。
    4. normaliz() 字母与语调重音符号合并。比如O(u004F)和ˇ(u030C)合成Ǒ(u004Fu030C)
    5. includes() 查找字符串参数并返回布尔值。
    6. startWith() 查找字符串头部参数返回布尔值。
    7. endWith() 查找字符串尾部参数返回布尔值。
    8. repeat(n) 重复n次字符串并返回新字符串。
    9. padStart(lenth, str) 设置指定长度length,长度不够在头部用str字符填充。
    10. padEnd(length, str) 置指定长度length,长度不够在尾部用str字符填充。
    11. trimStart() 消除字符串头部的空格。
    12. trimEnd() 消除字符串尾部的空格。
    13. matchAll() 返回正则的所有匹配项。

    后续待更新

  • 相关阅读:
    light oj 1105 规律
    light oj 1071 dp(吃金币升级版)
    light oj 1084 线性dp
    light oj 1079 01背包
    light oj 1068 数位dp
    light oj 1219 树上贪心
    light oj 1057 状压dp TSP
    light oj 1037 状压dp
    矩阵快速幂3 k*n铺方格
    矩阵快速幂2 3*n铺方格
  • 原文地址:https://www.cnblogs.com/liea/p/12514980.html
Copyright © 2011-2022 走看看