当前位置: 首页 > 知识库问答 >
问题:

当与导出默认值一起使用时,“=>”在javascript中是什么意思?[副本]

松旭
2023-03-14

我正在分析angular文件上传插件的一些angular 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;
    }

=


共有2个答案

薛欣荣
2023-03-14

它是一个ES6箭头函数。在你的例子中,它解释了这样的事情:

"use strict";

Object.defineProperty(exports, "__esModule", {
    value: true
});

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

var _angular = angular;
var copy = _angular.copy;
var extend = _angular.extend;
var forEach = _angular.forEach;
var isObject = _angular.isObject;
var isNumber = _angular.isNumber;
var isDefined = _angular.isDefined;
var isArray = _angular.isArray;
var element = _angular.element;

exports["default"] = function (fileUploaderOptions, $rootScope, $http, $window, FileLikeObject, FileItem) {
    var File = $window.File;
    var FormData = $window.FormData;

    var FileUploader = function FileUploader() {
        _classCallCheck(this, FileUploader);
    };

    // class implemention....

    return FileUploader;
};

module.exports = exports["default"];

注意,这是巴别塔编译的。

邹斌
2023-03-14

这是一个箭头函数(或胖箭头函数):

(a, b, c) => { /* ... */ }

(几乎)相当于:

function(a, b, c) { /* ... */ }

箭头函数和用函数声明的函数之间的唯一区别是this在箭头函数中有词汇绑定,而不是在常规函数中有混淆的绑定困境。

 类似资料:
  • 问题内容: 档案:SafeString.js 我从未见过。是否有任何等效的东西更容易理解? 问题答案: 它是ES6模块系统的一部分,该文档中还有一个有用的示例: 如果模块定义了默认导出: 那么您可以通过省略花括号来导入默认导出: 更新: 自2015年6月,该模块系统中定义§15.2和在特定语法中定义§15.2.3ECMAScript的2015规范的。

  • 文件:safeString.js 我以前从未见过。对于,是否有更容易理解的等效内容?

  • 问题内容: 我想知道 = + _ 运算符在JavaScript中的含义。看起来像是在做作业。 例: 问题答案: r = +_; 尝试将任何内容强制转换为数字。 只是一个变量名(不是运算符),可以是,等等。 例: 将“ 1”强制转换为纯数字1。 现在,不是。 此外,根据算术运算符的MDN页面: 一元加号运算符位于其操作数之前,并求值为其操作数,但是 尝试将其转换为数字(如果尚未转换为数字) 。 […

  • 我想问最后一句是什么意思和做(导出默认的HelloWorld;),但我找不到关于它的任何教程。

  • 我正在阅读ScrollListView的源代码,在一些地方我看到了的用法。 88号线。 这是的缩写吗?如果有什么不同,又是怎么回事?