実用的なes 6まとめ

3241 ワード

よく使われるes 6レコード
変数宣言constとlet
let:ブロックレベル要素、同じ役割ドメイン内で同じ変数constを繰り返し宣言することは許されません:オブジェクトが指すアドレスは変更できませんが、変数メンバーは変更できます.
かいぞうわりあて
let [a, b, c] = [1, 2, 3];
let { foo, bar } = { foo: "aaa", bar: "bbb" };

Spread Operator展開演算子
いわゆる...連結配列とオブジェクトのコピー
const arr1= [1, 2];
//    
const arr2= [...arr1];(      arr2      arr1,        )
//    
[...arr1,...arr2]

配列またはオブジェクトを取得するには、前の項目またはいくつかの項目を除く他の項目を取得したい場合があります.
//          
let number = [1,2,3,4,5]
let  [first, ...rest] = number//2,3,4,5

文字列拡張
≪テンプレート文字列|Template String|oem_src≫:式を文字列に埋め込んで結合します.${}で定義
var str = 'hello';
var result = `
${str} world
`;

padStart:頭部補完に使用され、相対的なpadEndは末尾補完に使用されます.
'1'.padStart(2, '0');         

数値拡張
数値が整数であるか否かを判断するために用いる:Number.isInteger()Math関数の拡張Math.trunc小数部除去
アレイ拡張
Array.of()値のセットを配列Mathに変換する.max(...[14,3,77])、最大値を取得
関数の拡張
関数のパラメータのデフォルト値の設定
オブジェクト拡張
オブジェクトを定義関数は、コロンとfunctionキーワードObjectを省略することができる.assign():浅いコピーと同名の属性の置換(ソースオブジェクトのある属性の値はオブジェクトであり、変更するとターゲットオブジェクトに反映される)Object.is():2つの値が等しいかどうかを比較するObject.values(),Object.keys()valueまたはkeyによって生成される配列
矢印関数
矢印(=>)を使用して関数関数内のthisオブジェクトを定義します.これは、使用時のオブジェクトではなく、定義時のオブジェクトです.
Promise
  • は、タイマ、ajaxの
  • に使用される階層的にネストされたコールバック関数を回避する.
  • Promiseオブジェクトは、Promiseインスタンスを生成するための構造関数であり、Promiseが新規作成されるとすぐに実行され、Promiseインスタンスの状態がresolvedになるとthenメソッドにバインドされたコールバック関数
  • がトリガーされます.
  • で受信関数パラメータは同期的に実行されるが、thenメソッドにおけるコールバック関数実行は非同期の
  • である.
    function result(value){
        return new Promise(function(resolve,reject){
            if(value){
                resolve('    ');
            }else{
                reject('    ');
            }
        });
    }
           return Promise.reject('xxx');
    result(true).then(function(value){
        console.log(value);
    }).catch(function(value){
        console.log(value);
    });
    console.log('   ');

    async
  • async関数はPromiseオブジェクトを返し、thenメソッドを使用してコールバック関数
  • を追加できます.
  • awaitは、後続の式が結果(非同期操作)を待つ必要があることを示し、結果を取得してから次のステップに進むことができ、awaitはasync関数に
  • しか現れません.
  • awaitコマンドの後ろにPromiseオブジェクトがあります.そうでない場合、すぐにresolveのPromiseオブジェクト
  • に変換されます.
  • async関数内部return文が返す値はthenメソッドコールバック関数のパラメータ
  • になります.
    function timer(){
        return new Promise((resolve,reject)=>{
            setTimeout(resolve,1500);
        });
    }
    async function go(){
        await timer().then(()=>{console.log('timer')});
        console.log('go');
    }
    go();

    importとexport
    //  
    import people from './example'
    //     ,         
    export default App
    
    //          
    import * as example from "./example"
    //n   export       
    
    //    
    import {name, age} from './example'
    //  
    export name;
    export age;

    Symbol
    新しい元のデータ型は、属性名の競合を防止し、Symbolインスタンスの説明を表す文字列をパラメータとして受け入れることができます.
    let set = Symbol('set');
    let a = {};
    a[set] = 'hello';

    注意:1、Symbol値をオブジェクト属性名として使用する場合、ポイント演算子は使用できません.2、この属性はforに現れない...in、for...ofサイクル中
    終わり、花を撒く~~~
    github
    みんなを歓迎してstar~~をプラスしますhttps://github.com/ymblog/book