美文网首页
ECMAScript 6--0.入门

ECMAScript 6--0.入门

作者: 飞菲fly | 来源:发表于2017-10-17 15:58 被阅读51次

ES6(ECMAScript2015--ES2015)2015年发布的

ECMAScript 6最新的javascript核心标准;

ES6相对于ES5和ES3有更强大的生产力,大大提高开发效率;

1.实现对象拷贝功能:
ES5

var createAssigner = function(keysFunc,defaults){
    return function(obj){
        var length = arguments.length;
        if(defaults) obj = Object(obj);
        if(length<2||obj==null) return obj;
        for(var index=1;index<length;index++){
            var source =arguments[index],
                keys = kesFunc(source),
                l = keys.length;
            for(var i=0;i<l;i++){
                var key = keys[i];
                if(!defaults||obj[key]===void 0)
                    obj[key] = source[key];
            }
        }
        return obj;
    };
};
var allKeys = function(obj){
    var keys =[];
    for(var key in obj) keys.push(key);
    return keys;
};
var extend =createAssigner(allKeys);
extend({t:1},{k:2});

ES6

Object.assign({t:1},{k:2});

2.默认参数--为了增强代码的安全性
ES5:

通过||运算符保证txt这个参数是有值的;
function hello(txt){
    txt = txt||'hello world';
 }

ES6:

function hello(txt='hello world'){
}

3.字符串模板:

(异步操作和服务端异步通信完成对html的一个交互操作过程)
字符串 数据 模板

ES5:

_表示引用了underscore.js第三方库,同时用起来也要调一个方法template,在调另一个方法compiled
来实现这个结果;
var compiled  = _.template("hello:<%= name %>");
compiled({name:'moe'});

ES6:(实现了模板和数据的编译过程,而且不依赖任何第三方库)

var name ={moe};
var txt = 'hello ${name}';

4.更多特性--用的频率特别高的:

  • 解构赋值 --改变了参数赋值,变量赋值的一种形式,让赋值更加多样性;
  • 箭头函数--在函数当参数的时候,我们有了更多的选择;
  • Set和Map --数据结构
  • 异步操作 --解决回调噩梦的异步操作,promise Generators
  • 类与对象 --(ES5中类声明和使用都是通过一个函数里面加类作为构造函数)
    ES6中有专业的class命令来声明类,同时有继承的概念;
  • 模块化 --ES6模块化将成为一种标准;

5.基本技能:
ES6 (学习源码是最快的途径)

源码:
vue.js框架就是用ES6完成源码创作的;
饿了么的ui框架--Element
D3--(处理图表业务和图表动画D3是国际出名的框架)源码是由ES6完成的;

业务:(在实例上还是编译上都是用ES6语言)
vue
React
Angular

面试:
ES6 加分项

6.ES6本身浏览器是不支持;
(开发的ES6的业务代码是不能直接部署到线上让浏览器去访问的,浏览器是不支持,会报错的),为了更好的学习使用Es6:
1.先构建一套支持ES6环境(如何构建支持ES6的构建工具)

构建工具:
gulp
babel
webpack
npm

用ES6写代码的时候,构建工具会帮你自动完成编译、监听、打包,甚至是上线的流程;

2.ES6的基础语法
基础用法 对应实例 注意事项

3.实战演练
知识点 特性 通过实例
搭一套真实的服务器环境,依赖于express、mockjs(去模拟一些数据)做服务器接口、数据;

拿到一个大的项目:
--怎么利用ES6特性把项目做分解并执行完成一直到部署上线;
--代码怎么设计会让项目的可维护性比较强;

功能:
实现期号的自动获取展示、更新、倒计时、开售状态、玩法切换、选号、金额计算、奖金预测、
购物车、机选、清空、删除等等,会用到ES6的很多知识点:块级作用域、数据结构Set、Map、
异步操作promise、对象代理、映射等等。

1.模块化概念
2.工程构建
--css怎么放的、js怎么放置文件的,js之间的关联关系是什么、编译怎么去做,上线,客户端怎么通信;
3.编程经验

相关文章

网友评论

      本文标题:ECMAScript 6--0.入门

      本文链接:https://www.haomeiwen.com/subject/jjpduxtx.html