草庐IT

es6-features

全部标签

javascript - ES6 箭头函数是否与 Angular 不兼容?

这是我的Angular代码中一个正常的ES5函数:app.run(function($templateCache){$templateCache.put('/some','thing')});我想把它转换成ES6箭头函数app.run($templateCache=>$templateCache.put('/some','thing'));但它给出了错误UncaughtError:[$injector:unpr]Unknownprovider:'/some'ProviderES6箭头函数是否与Angular不兼容?编辑:我认为Angular可能无法推断名称$templateCache,

javascript - 有人可以解释 ES6 Javascript 中的 'super()' 关键字(尤其是与 React 相关的)吗?

我正在学习React.js,我看到构造函数中经常使用super关键字。我知道super允许子类访问this关键字。但是,我找不到更多的解释。为什么调用super()神奇地让我的类访问this?为什么super关键字将this绑定(bind)到类的上下文?当我不处理子类时,为什么我不必调用super()? 最佳答案 对不起,图片是日文的,但看起来很容易理解。当您在类成员函数中使用super函数时,extends关键字也应该被使用。当你在extending类中调用superlikesuper(args)时,它会调用extended类的构

ES6新特性----面试

ES6新特性关键字let关键字const关键字解构赋值变量的解构赋值数组的解构赋值对象的解构赋值字符串的解构赋值数值和布尔值的解构赋值函数参数的解构赋值用途模板字符串箭头函数扩展运算符(...)数组的扩展对象的扩展基本数据类型SymbolSet和Map数据结构基本用法set实例的属性和方法遍历操作WeaksetMapWeakMapPromise对象概念状态方法缺点Generator函数概念特征调用过程next()yield表达式Async函数概念基本用法错误处理for...of函数Class定义类constructor方法类的实例对象class的继承super关键字ES6新特性文章参考:阮一峰

javascript - 在 ES6 类中拥有私有(private)属性和方法

这个问题在这里已经有了答案:PrivatepropertiesinJavaScriptES6classes(41个回答)关闭6年前。我只是在试用ES6,并想将用常规javascript编写的一部分代码重写为ES6。现在,我在尝试重写ES6类中的私有(private)属性和方法时遇到了困难。似乎ES6中的类没有明确提供任何拥有私有(private)数据或方法的东西。另外,我检查了这个线程:PrivatepropertiesinJavaScriptES6classes并发现我们可以使用WeakMap来存储私有(private)数据。这有点奇怪,但仍然可以解决。而且我确实设法将它用于私有(p

javascript - ES6 导入 - 感叹号是什么意思?

我正在关注ChooseES6ModulesToday指南,我注意到他使用的其中一个导入语句末尾有一个感叹号:导入'bootstrap/css/bootstrap.css!';那个感叹号是什么意思?此导入语句出现在startup.js的第一行文件。 最佳答案 这意味着将调用一个插件来加载文件。默认情况下,插件/加载程序名称等于扩展名称。所以在你的例子中cssplugin将被调用以加载bootstrap/css/bootstrap.css文件。可以显式定义插件:import'bootstrap/css/bootstrap.css!css

javascript - ES6 全局导入

在项目的所有文件中导入一些模块的最佳方法是什么,这样我就不必编写如下内容:importReactfrom'react';importRefluxfrom'reflux';importreactMixinfrom'react-mixin';几乎在每个文件中? 最佳答案 另一个答案涵盖了这一点,但不是有效的ES6,所以我添加了我自己的。在一些中央react.js文件中制作一个中央文件来导入你的react组件export{defaultasReact}from'react';export{defaultasReflux}from'refl

javascript - ES6 标记模板实用性

我理解ES6的语法taggedtemplates.我看不到的是实际可用性。什么时候比传递对象参数更好,比如jQuery'sAJAX中的设置?$.ajax('url',{/*这家伙在这里*/})现在我只看到了棘手的语法,但我不明白为什么我需要/使用它。我还发现TypeScript团队选择在其他重要功能之前实现它(在1.5中)。标记字符串模板背后的概念是什么? 最佳答案 您可以使用标记模板构建比常规函数调用更具表现力的API。例如,我正在处理proof-of-conceptlibrary对于JS数组的SQL查询:letadmins=sq

javascript - ES2015 中的条件导出

假设您正在开发一个polyfill,并且如果某个类已经存在于浏览器中,您不想填充它。这在ES6中如何实现?以下内容无效,因为exports不是语句:if(typeofFoo==='undefined'){exportclassFoo{...}}如果上述条件的计算结果为false,则导入脚本应该内置浏览器。 最佳答案 export应该是静态的。对于条件导出,可以使用CommonJS模块和exports。ES6模块应该这样处理:exportletFoo;if(window.Foo===undefined){Foo=classFoo{..

javascript - ES7 中新的 async 和 await 关键字是从 C# 复制过来的吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭7年前。Improvethisquestion注意到Java中没有async和await,ES7中的这些新关键字是从C#语言复制而来的?我很好奇起源:谁提出了关键字名称,JS社区中是否有人正在利用.NET框架的概念?

javascript - ES6 导入重复项?

我试图让我的代码(服务器端和客户端)尽可能模块化,这需要大量的导入和导出,但是我有一个悬而未决的问题。我试着从这里搜索,阅读了热门博客文章,甚至看了一些YT视频,但仍然没有完全解释清楚。我很想避免现在犯这个错误,并避免以后重写我的逻辑。文件1importReactfrom'react';//dosomething文件2importReactfrom'react';//dosomethingelse文件3importFile1from'./file1';importFile2from'./file2';//dosomethingwithboth它够聪明吗?我可以导入相同的吗我想要多少个模