Questions tagged «ecmascript-6»

ECMAScript规范的2015版本现已成为标准(ECMAScript 2015)。仅在问题专门与ECMAScript 2015中提供的新功能或技术更改有关的情况下使用此标记。

1
NodeJS计划支持导入/导出es6(es2015)模块
我一直在互联网上寻找有关此问题的明确答案。 当前,NodeJS仅使用CommonJS语法加载模块,如果您确实要使用标准的ES2015模块语法,则必须事先对其进行转换,或者在运行时使用外部模块加载器。 目前,我不太愿意使用这两种方法,NodeJS维护人员是否计划支持ES2015模块?我完全没有发现任何提示。 目前,NodeJS 6.x声称支持96%的ES2015功能,但没有任何模块参考(NodeJS ES2105支持链接)。 您是否知道在不久的将来NodeJS是否会立即支持这些模块?

5
使用Webpack在vue.js项目中的(@)登录路径中使用ES6导入
我正在开始一个新的vue.js项目,所以我使用了vue-cli工具来搭建一个新的webpack项目(即vue init webpack)。 在浏览生成的文件时,我注意到文件中的以下导入src/router/index.js: import Vue from 'vue' import Router from 'vue-router' import Hello from '@/components/Hello' // <- this one is what my qusestion is about Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'Hello', component: Hello } ] }) 我之前没有@在路径中看到at符号()。我怀疑它允许相对路径(也许吗?),但是我想确保我了解它的真正作用。 我尝试了在线搜索,但是找不到解释(可能是因为搜索“在符号处”或使用文字字符@不能作为搜索条件)。 这@条路径的作用是什么(链接到文档非常好),这是es6吗?一个webpack的东西?vue-loader东西? 更新 感谢Felix Kling向我指出了另一个关于同一问题的重复的stackoverflow问题/答案。 虽然在其他stackoverflow帖子上的评论不是对该问题的确切答案(在我看来,这不是babel插件),但确实为我指明了正确的方向,以查找问题所在。 …

3
打字稿导出与默认导出
export和之间的Typescript有什么区别default export。在所有教程中,我看到人们在写export他们的课程,并且如果我default在导出之前未添加关键字,则无法编译我的代码。 另外,我在官方打字稿文档中找不到默认export关键字的任何痕迹。 export class MyClass { collection = [1,2,3]; } 不编译。但: export default class MyClass { collection = [1,2,3]; } 有。 错误是: error TS1192: Module '"src/app/MyClass"' has no default export.

5
ES6中是否不使用let或const声明的变量?
Наэтотвопросестьответына 堆栈溢出нарусском:Всплываютлипеременные,объявленныеспомощью让ив常量ES6? 我玩ES6已有一段时间了,我注意到虽然用声明的变量var按预期悬挂了... console.log(typeof name); // undefined var name = "John"; ... 用提升声明let或const似乎有一些提升问题的变量: console.log(typeof name); // ReferenceError let name = "John"; 和 console.log(typeof name); // ReferenceError const name = "John"; 这是否意味着使用let或const不声明的变量被吊起?这到底是怎么回事?是否有任何区别let,并const在此问题?

24
通过ES6中的键过滤对象属性
假设我有一个对象: { item1: { key: 'sdfd', value:'sdfd' }, item2: { key: 'sdfd', value:'sdfd' }, item3: { key: 'sdfd', value:'sdfd' } } 我想通过过滤上面的对象来创建另一个对象,所以我有类似的东西。 { item1: { key: 'sdfd', value:'sdfd' }, item3: { key: 'sdfd', value:'sdfd' } } 我正在寻找一种使用Es6来完成此操作的干净方法,因此可以使用扩展运算符。

15
将脚本标签添加到React / JSX
我有一个相对简单的问题,试图将内联脚本添加到React组件。到目前为止,我有: 'use strict'; import '../../styles/pages/people.scss'; import React, { Component } from 'react'; import DocumentTitle from 'react-document-title'; import { prefix } from '../../core/util'; export default class extends Component { render() { return ( <DocumentTitle title="People"> <article className={[prefix('people'), prefix('people', 'index')].join(' ')}> <h1 className="tk-brandon-grotesque">People</h1> <script src="https://use.typekit.net/foobar.js"></script> <script dangerouslySetInnerHTML={{__html: 'try{Typekit.load({ async: true });}catch(e){}'}}></script> </article> …

30
reactjs提供错误Uncaught TypeError:超级表达式必须为null或函数,且未定义
我正在使用reactjs。 当我运行下面的代码时,浏览器显示: 未捕获的TypeError:超级表达式必须为null或函数,且未定义 关于任何错误的任何暗示将不胜感激。 首先是用于编译代码的行: browserify -t reactify -t babelify examples/temp.jsx -o examples/public/app.js 和代码: var React = require('react'); class HelloMessage extends React.Component { render() { return <div>Hello </div>; } } 更新:在针对此问题的地狱之火中燃烧了三天后,我发现我没有使用最新版本的react。 全局安装: sudo npm install -g react@0.13.2 在本地安装: npm install react@0.13.2 确保浏览器也使用正确的版本: <script type="text/javascript" src="react-0.13.2.js"></script> 希望这可以为他人节省三天的宝贵生命。

13
是否可以使用通配符从目录中的所有文件导入模块?
使用ES6,我可以从这样的文件导入多个导出: import {ThingA, ThingB, ThingC} from 'lib/things'; 但是,我喜欢每个文件有一个模块的组织。我最终得到这样的进口: import ThingA from 'lib/things/ThingA'; import ThingB from 'lib/things/ThingB'; import ThingC from 'lib/things/ThingC'; 我希望能够做到这一点: import {ThingA, ThingB, ThingC} from 'lib/things/*'; 或类似的名称,并且每个文件都包含一个默认导出,并且每个模块的名称与其文件相同。 这可能吗?

3
JavaScript中的“功能*”是什么?
在此页面中,我找到了新的JavaScript函数类型: // NOTE: "function*" is not supported yet in Firefox. // Remove the asterisk in order for this code to work in Firefox 13 function* fibonacci() { // !!! this is the interesting line !!! let [prev, curr] = [0, 1]; for (;;) { [prev, curr] = [curr, prev + …

5
如何在ES6中导出导入的对象?
用例很简单:我只想导出名称与导入的对象相同的对象。 例如: import React from 'react'; export React; 但这不起作用。我要写: import React from 'react'; export const React = React; 但这很奇怪。什么是正确的方法? 更新时间: 感谢您的帮助和参考。我已经用许多线索解决了我的问题。我想分享一些常见的案例和解决方案。 出口进口 import d, {obj} from '...'; export {obj, d}; export {obj as name1, d as name2}; 再出口所有已命名的进口 export * from '...'; export * as name1 from '...'; 再出口一些已命名的进口货 export …


2
为什么es6 react组件仅适用于“导出默认值”?
该组件确实起作用: export class Template extends React.Component { render() { return ( <div> component </div> ); } }; export default Template; 如果我删除了最后一行,则行不通。 Uncaught TypeError: Cannot read property 'toUpperCase' of undefined 我想我不了解es6语法。是不是必须在没有符号“ default”的情况下导出?

6
如何将Map键转换为数组?
可以说我有以下地图: let myMap = new Map().set('a', 1).set('b', 2); 我想根据以上内容获得['a','b']。我当前的解决方案似乎是如此漫长而可怕。 let myMap = new Map().set('a', 1).set('b', 2); let keys = []; for (let key of myMap) keys.push(key); console.log(keys); 必须有更好的方法,不是吗?



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.