有人可以解释这种行为吗?此代码段输出Window
(()=>{
console.log(this);
})()
Run Code Online (Sandbox Code Playgroud)
但它使用babel的编译输出是
"use strict";
(function () {
console.log(undefined);
})();
Run Code Online (Sandbox Code Playgroud)
这个输出 undefined
如果babel只是编译,那么在两种情况下输出都不应该相同吗?为什么this翻译成undefinedbabel输出?
添加 \xe2\x80\x9cDiagnostic\xe2\x80\x9d 插件后,我无法构建我的 ionic 3 项目。
\n\n有一个转译错误:
\n\ntypescript: .....app/plugins/cordova.plugins.diagnostic/cordova.plugins.diagnostic.d.ts, line: 6\n Cannot find type definition file for \'cordova\'.\n\n L5: * "Dangerous" permissions that need to be requested at run-time (Android 6.0/API 23 and above)\n L6: * See http://developer.android.com/guide/topics/security/permissions.html#perm-groups\n L7: * @type {Object}\nRun Code Online (Sandbox Code Playgroud)\n\n我该如何解决这个问题?以下是版本信息:
\n\n"@angular/common": "^4.4.3",\n"@angular/compiler": "^4.4.3",\n"@angular/compiler-cli": "^4.4.3",\n"@angular/core": "^4.4.3",\n"@angular/forms": "^4.4.3",\n"@angular/http": "^4.4.3",\n"cordova": "^7.0.1",\n"cordova-android": "6.3.0",\n"cordova-browser": "^4.1.0",\n"cordova-ios": "^4.5.3",\n"ionic-angular": "^3.7.1",\nRun Code Online (Sandbox Code Playgroud)\n\n如果我评论这一行,它就可以工作/// <reference types="cordova" />,但这不是我猜的解决方案