我在js的学习路径中,刚开始使用yeoman发生器。我使用gulp进行预处理和其他工作。当我浏览gulpfile.js时,我发现了这段代码。
gulp.task('serve', ['styles', 'html', 'watch'], () => {
browserSync({
notify: false,
port: 9000,
server: {
baseDir: 'app'
}
})
});
我可以理解,当我们执行gulp-serve
时,它会运行样式,html和监视任务,并在端口9000中打开一个开发服务器。
但我不明白这个() =>
意味着什么。
如果有人能告诉我这是什么意思,那将非常感激。
提前致谢。
答案 0 :(得分:5)
他们被称为Arrow functions
箭头函数表达式的语法短于函数 表达式并不绑定它自己的this,arguments,super或 new.target。这些函数表达式最适合非方法 函数,它们不能用作构造函数。
简单来说,除function(){}
上下文
this
这就是你的代码的样子:
gulp.task('serve', ['styles', 'html', 'watch'], function() {
browserSync({
notify: false,
port: 9000,
server: {
baseDir: 'app'
}
})
});
(作为第三个参数传入的匿名函数)
这是 ES6功能无论如何,你可以在this链接中探索更多这样的功能:P
答案 1 :(得分:1)
它定义了一个不带参数的内联函数。函数的主体在{}中。然后,这个新函数作为回调传递给task()函数。
答案 2 :(得分:1)
它是一个匿名函数。您拥有的代码可能是
gulp.task('serve', ['styles', 'html', 'watch'], function () {
browserSync({
notify: false,
port: 9000,
server: {
baseDir: 'app'
}
})
});
关于箭头函数的一个很棒的事情是你仍然可以在上下文中使用this
。你不必在函数之外定义类似let self = this;
的东西。