Es5.Es6差

ES5 && ES6
    、聞かせて
         1.ブロックレベルのスコープは、唯一の有効なコードブロック変数が定義されてみましょう
         2.let変数宣言は、(前に)進まない(リアは、あなたが最初の使用を定義しなければならないことを意味します)
        3.定義は繰り返すことはできません、我々は同じスコープで同じ名前の変数を宣言することはできません
        4.一時的なデッドゾーン(外部変数と同じ名前の内部変数は、内部変数は外部変数から遮断されている場合)
        違いとVAR注意をしましょう:
             変数1)ステートメントであるせてブロックレベルのスコープ(中括弧の対)、varは、関数スコープおよびグローバルスコープであります
           注意:letが、グローバル変数、ローカル変数、変数のブロックレベルのスコープを定義することができます。(コードと関連する位置を書き込み)
            2)変数宣言を強化するために主張しないしましょう、varステートメントは、アップグレードされます
            3)書き込みコードから、VARことができ、名前を付けることができない変数が宣言されてみましょう。
 
二つは、constが唯一の変数読みます    
    のみを変更するために使用CONST変数 読み取り専用変数はまた、定数と呼ばれるが 、それは、データ内の変数にのみアクセスできることを意味し、CONSTを意味しており、変更することができない(読み取り専用)、「読み取り専用」
    修正のconst変数は初期値を割り当てる必要があります
    CONSTは、(変性)メモリに直接変更されます
    参照メモリ領域の2つのタイプがあります。
    これは、参照型記憶されたアドレスのメモリ領域、示されたデータ配列要素を表します。

 

三、このバインド
この資料の内容
  あなたがの形で関数を呼び出すときは1)。これは、常にウィンドウです
  2)イベントハンドラでは、これはイベントソースです。
2.bind(これは再オブジェクトを参照)(のみ匿名関数サービス用)
3.callと適用
   基本的に(内部のこの機能)を適用属するオブジェクトとコールの機能を変更します
   誰引数が、これがあるさ
  Object.call(これ、OBJ1、OBJ2、OBJ3)
  Object.apply(この、引数)
 四 、JSON.parse / JSON.stringfy
   直接変換JSON文字列オブジェクトと
    JSONオブジェクトに文字列:JSON.parse
    JSONオブジェクトを文字列に変換:. JSONの文字列化
  VAR列str = '{ "ID": "123"、 "名前": "456"}';
   聞かせてOBJ = JSON.parse(STR);
   console.log(obj.id)。
   console.log(obj.name)。
   聞かせてSTR1 = JSON.stringfy(OBJ)。
   console.log(str1.id)。
   console.log(str1.name)。
 
五、のために与中のため
    strArrを聞かせて= [];
    {(strArrインデックスを聞かせて)ため
       console.log(strArr [インデックス])。
    }
   {(strArrのTを聞かせて)ため
       console.log(T)。
    }
拡張六弦
   文字列が別の文字列に含まれているかどうかを決定します
   ES5のindexOf(パラメータ)
   ES6は、文字列パラメータが見つかったかどうかを示すブール値を返し(パラメータ)を含みます
             startsWith(パラメータ)は、ブール値を返す場合、ヘッダーソースのパラメータ文字列
             endsWith(パラメータ)は、ブール値を返す場合、ソース文字列の末尾にパラメータ
(匿名関数用)七の矢印機能   
           1.例:X => X * 5が関数に対応する(X){戻りX * 5}
      箭头函数相当于匿名函数,省略了return和花括号
          2.有名函数   let  函数名=参数=>函数体
                eg:let num=(x=>x*5)(8)        //传入参数x=6,自运行
                     console.log(num) //30
 
                 let num=function(x){
                       return x*5
                   }
 
          3.函数需要多个参数,参数需要花括号括起来
                (x,y)=>x>y?x:y;
 
          4.返回值是个对象
              var f=(id,name)=>({id:id,name:name});
                 //等价于:
                 返回的是对象
              var f=(id,name)=>({
                    return {id:id,name:name}
               });
              红色括起来的圆括号不能省略,因为对象的花括号和函数的花括号冲突了
箭头函数的优点:
    对this转移的处理,箭头函数内部的this是词法作用域,由上下文确定
八、解构赋值(针对于数组、对象)批量给变量赋值
    优点:1. 可以让一个函数返回一个的值
              2. 可以实现两个数的交换
              3.可以将多个变量进行初始化
    eg:  let a=1;b=22;t;
         a=a+b;
         b=a-b;
         a= a-b;
         console.log(a,b);
 
eg:  let [v1,[v2,v3],[v4,v5]] = [12,[23,34],[56,67],[5,6]];
    console.log(v1);
    console.log(v2);
    console.log(v3);
    console.log(v4);
    console.log(v5);
    let {name,age} = {name:"dahuang",age:18};
    console.log(name,age);
    
九、Set和Map
set特点:自动去重,无下标
let set = Set([2,3,5,6,2,3,2,1]);
console.log(set.size);     //5
for(let t of set){
    console.log(t);
}
set集合的方法:
add(参数)   向集合中添加一个元素
delete(参数)    删除集合中某个数
has(参数)        判断集合中是否含有某个值
clear(参数)     清空集合中的元素
from(参数)   将集合转为数组
 
Map : 键值对
set()   向集合中添加一个元素
get(键)    根据键去取值
delete( 键)    删除集合中的某个数
has(键)     clear(参数)     清空集合中的元素
from(参数)   将集合转为数组
Map的遍历
for(let t of map){
    console.log(t[0] + t[1]);   //0代表key,1代表value
}
 
十、Symbol
 1.表示独一无二的值,它是基本类型中的一种。
 2.它是内置基本对象,不能使用new关键字来使用。let symbol = Symbol();
let symbol1 = symbol("heihei");
let symbol2 = symbol("heihei");
console.log(symbol1 === symbol2);    //false
 
let age =Symbol();
var a = {
    name:"老王";
    [age]: 18 ;
    hobby: "写代码";
};
for(let i in a){
    console.log(a[t]);    //老王
                          //写代码
}
console.log(a[age]);      //18

おすすめ

転載: www.cnblogs.com/manban/p/11109442.html