那些你不知道的事儿

相比 ECMAScript 6 (也被称为 ECMAScript 2015), ECMAScript 2016在 JavaScript 的语言规范上有小幅度的更新。由于ECMAScript版本会每年一更,effectively just a snapshot of all the features that were ready。有鉴于此,大多数文章仅列出 ECMAScript 2016 中两个显著的变化。

增加了乘幂运算符(**)。
增加了Array.prototype.includes()方法。
这两项功能对JavaScript开发者有着最直接的影响,实际上, ECMAScript 2016 还有一些经常被人忽略的重要更新。在我写的书Understanding ECMAScript 6中有提到这些更新,但是我仍然会收到关于它的一些疑问,所以在这篇文章中,我想深入地探讨一下 ECMAScript 2016 。

首先,我会陈述 ECMAScript 2016 的一些更新,然后再讲讲其背后的理论基础。

更新点
ECMAScript 2016 规定,"use strict"严格模式不允许用于参数具有默认值、使用解构参数或多余参数的函数内部,规范将简单参数定义为仅包含标识符的参数列表(ECMAScript 5 仅支持简单参数列表)[1]. 这一更新会影响所有的函数类型,包括函数声明、函数表达式、箭头函数和对象字面量。以下是一些示例代码。

gulp.task('buildjs2', function() {
    return gulp.src(['src/0307/jquery-2.1.4.min.js', 'src/0307/jquery-2.1.4.min.js', 'src/0307/init.js'])
        .pipe(concat('main.min.js'))
        .pipe(uglify({
            mangle: false, //类型:Boolean 默认:true 是否修改变量名
            compress: false //类型:Boolean 默认:true 是否完全压缩
        }))
        .pipe(gulp.dest('./dest/0307'))
        .pipe(notify({
            message: 'buildjs2 task ok'
        }));
});
gulp.task('buildcss2', function() {
    return gulp.src(['src/css/laydate.css','src/css/laydate2.css'])
        .pipe(concat('laydate.min.css'))
        .pipe(minifyCss())
        .pipe(gulp.dest('./dest/css'))
        .pipe(notify({
            message: 'buildcss2 task ok'
        }));
});
posted @ 2016-11-01 17:56  九木旭  阅读(127)  评论(0)    收藏  举报