(第二章)学习ES6

函数的Rest参数和扩展

//ES5
function sum(x,y,z){
    let total = 0;
    if(x)total+=x;
    if(y)total+=y;
    if(z)total+=z;
    //`点为tab键上面那个
    console.log(`tatal:${total}`);
};
sum(3,4,6);

//ES6 rest参数
function sum2(...m){
    let total = 0;
    for(i of m){
        total+=i;
    };
    console.log(total)
};
sum2(2,4,6);


//ES6 箭头函数
let = sum3 = (...m)=>{
    let total = 0;
    for(i of m){
        total+=i;
    };
    console.log(total)
};
sum3(1,3,5,7);

//数组合并(解构)
//ES5
let arr1 = [1,3],arr2 = [5,7];
console.log("concat:"+arr1.concat(arr2));
//ES6
console.log(...arr1,...arr2);

Promise使用

//解决回调地狱问题,使结构更加清晰。
let checkLogin = ()=>{
    return new Promise((resolve,reject)=>{
        let flag = document.cookie.indexOf("userId")>-1?true:false;
        if(flag = true){
            resolve({
                status:0,
                result:true
            })
        }else{
            reject("error")
        };
    });
};
checkLogin().then((res)=>{
    if(res.status == 0){
        console.log("login success");
    }
}).catch((err)=>{
    console.log(`error:${err}`);
});

//多个请求
Promise.all([checkLogin(),getTest()]).then(([res1,res2]))=>{
    console.log(res1.result,res2.result);
}

module.exports和ES6 import/export的使用

//导出出有名字的  引用就需要加{};
import {sum} from "./util";
//使用
console.log(sum(1,2));
export let = sum = (x,y){
    return x+y;
};
//另一只方式也可以这样引用
import * as util from './util';
//使用
console.log(util.sum(1,2));


AMD/CMD.commonJs和E6对比





- AMD概念:是RequireJs在推广过程中的模板定义的规范化产出。

    define(['package/lib],function(lib){
        finction foo(){
            lib.log('hello word!');
        };
        return {
            foo:foo
        }
    });
    
    cmd概念:是SeaJs在推广过程中对模块定义的规范化产出。
    define(function(require,exports,module){
        //通过 require 引入依赖
        var $ = require('jquery');
    })
    
    commonJs规范 - module.exports(nodejs服务端使用的规范)。
    //带名字的输出
    exports.area = function(r){
        return Math.PI*r*r;
    };
    //默认输出
    module.export= {};
    
    ES6概念:export/import(上面有讲注意事项,需掌握的东西)

suipa
237 声望16 粉丝

前端程序猿