zoukankan      html  css  js  c++  java
  • ES6 新特性

    1. 新特性

    1.1 let 与 const

    let 声明的变量只在 let 命令所在的代码块内有效。不能重复声明。不存在变量提升。

    // 输出 0- 9:  for (let j = 0; j < 10; j++) { setTimeout(function(){ console.log(j); }) }

    const 声明一个只读的常量,一旦声明,常量的值就不能改变。一但声明必须初始化,否则会报错。

    const 更为详细的介绍

    var 和 let :

     let 是块作用域,即其在整个大括号 {} 之内可见

    在变量声明之前就访问变量的话,会直接提示 ReferenceError,而不像 var 那样使用默认值 undefined

    const 和 let 

    作用域是一致的,不同的是 const 变量一旦被赋值,就不能再改变了

    但是这并不意味着使用 const 声明的变量本身不可变,只是说它不可被再次赋值了

    什么时候用 var、let 或 const 呢?

    大多数情况下都使用 const

    如果变量的值的确需要改变,例如在 for 循环里面,那么就是用 let

    (与时俱进,es6,就不要用 var 了吧。。)

    1.2 解构赋值 

    一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值

    数组模型的解构 : 基本  可嵌套  可忽略  不完全解构  剩余运算符  字符串等  解构默认值

    let [a, b, c] = [1, 2, 3];   // a = 1 // b = 2 // c = 3

    对象模型的解构 :  基本  可嵌套可忽略  不完全解构  剩余运算符  解构默认值

    let { foo, bar } = { foo: 'aaa', bar: 'bbb' };   // foo = 'aaa' // bar = 'bbb'

    1.3 Symbol

    ES6 数据类型除了 Number 、 String 、 Boolean 、 Objec t、 null 和 undefined ,还新增了 Symbol 。表示独一无二的值.

    使用场景 :  作为属性名   定义常量

    let sy = Symbol("KK");  console.log(sy);   // Symbol(KK)    typeof(sy);        // "symbol"

    let yellow1 = Symbol.for("Yellow");   Symbol.keyFor(yellow1);    // "Yellow"

    1.4 Map 与 Set

    1.4.1 Map 对象

    Maps 和 Objects 的区别
    一个 Object 的键只能是字符串或者 Symbols,但一个 Map 的键可以是任意值。
    Map 中的键值是有序的(FIFO 原则),而添加到对象中的键则不是。
    Map 的键值对个数可以从 size 属性获取,而 Object 的键值对个数只能手动计算。
    Object 都有自己的原型,原型链上的键名有可能和你自己在对象上的设置的键名产生冲突。

    var myMap = new Map(); var keyString = "a string"; myMap.set(keyString, "和键'a string'关联的值"); myMap.get(keyString); // "和键'a string'关联的值" myMap.get("a string"); // "和键'a string'关联的值"

    Map 的迭代 : for...of     forEach()

    Map 对象的操作: Map 与 Array的转换  Map 的克隆  Map 的合并  

    1.4.2 Set 对象

    存储任何类型的唯一值,无论是原始值或者是对象引用。

    let mySet = new Set(); mySet.add(1); // Set(1) {1} mySet.add(5); // Set(2) {1, 5} mySet.add(5); // Set(2) {1, 5} 这里体现了值的唯一性

     类型转换   :  Array 转 Set    Set 转 Array   String 转 Set

    Set 对象作用: 数组去重    并集    交集    差集

    此处省略N个点,后续文章再细节描述

    2. 参考链接

    ES6 教程

    ECMAScript 6 入门

    javaScript、ES5和ES6的介绍和区别

    ES6 基础

  • 相关阅读:
    tuple 元组及字典dict
    day 49 css属性补充浮动 属性定位 抽屉作业
    day48 选择器(基本、层级 、属性) css属性
    day47 列表 表单 css初识
    day 46 http和html
    day 45索引
    day 44 练习题讲解 多表查询
    day 40 多表查询 子查询
    day39 表之间的关联关系、 补充 表操作总结 where 、group by、
    day38 数据类型 约束条件
  • 原文地址:https://www.cnblogs.com/justSmile2/p/10516839.html
Copyright © 2011-2022 走看看