KAD*_*KAD 5 javascript angularjs ecmascript-6
我正在分析angular-file-upload插件的一些角度js源代码,我在尝试理解一些代码时遇到了一些问题.
我知道这export是新ES6标准的一部分,它用于从给定文件(或模块)导出函数和对象.
但是下面的语法有点奇怪我:
let {
copy,
extend,
forEach,
isObject,
isNumber,
isDefined,
isArray,
element
} = angular;
export default (fileUploaderOptions, $rootScope, $http, $window,
FileLikeObject, FileItem) => {
let {
File,
FormData
} = $window;
class FileUploader {
// class implemention....
}
return FileUploader;
}
Run Code Online (Sandbox Code Playgroud)
=>在本声明中,运算符的用途是什么?
Eth*_*own 16
这是一个箭头功能(或胖箭头功能):
(a, b, c) => { /* ... */ }
Run Code Online (Sandbox Code Playgroud)
(几乎)相当于:
function(a, b, c) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)
箭头函数和声明的函数之间的唯一区别function是它this在箭头函数中具有词法绑定,而不是在常规函数中混淆的混合morass.