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() 返回正则的所有匹配项。

    后续待更新

  • 相关阅读:
    我在ZZ这八年
    安装JBpm
    用程序实现HTTP压缩和缓存
    (转)WPF Custom Control Dependency Property Gotcha
    开发一个Word的代码高亮插件
    (转)Getting rid of the DSL model explorer
    (翻译)LearnVSXNow! #16 创建简单的编辑器2
    对 COM 组件的调用返回了错误 HRESULT E_FAIL。
    Word中使用代码高亮插件
    使用HttpWebRequest post数据时要注意UrlEncode
  • 原文地址:https://www.cnblogs.com/liea/p/12514980.html
Copyright © 2011-2022 走看看