Questions tagged «ecmascript-6»

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


4
现代浏览器中的TypeScript支持
我刚刚阅读了一些与TypeScript相关的广告信息,此外,我没有使用此JavaScript超集的经验。所以我有一些基本问题: 现代浏览器对本机TypeScript的支持情况如何? 主要的浏览器供应商对于TypeScript本身的未来支持持何立场? TypeScript和ECMAScript6之间有什么关系?TypeScript是否提供比ECMAScript6更多的功能? 随意回答所有或部分问题。

6
如何用ES6类制作迭代器
如何以与JS1.7SomeClass.prototype.__iterator__ = function() {...}语法相同的方式从ES6类中构造出迭代器? [编辑16:00] 以下作品: class SomeClass { constructor() { } *[Symbol.iterator]() { yield '1'; yield '2'; } //*generator() { //} } an_instance = new SomeClass(); for (let v of an_instance) { console.log(v); } WebStorm标志*[Symbol.iterator]()在星号后直接带有“预期的功能名称”警告,但否则,此函数可以编译并在Traceur中正常运行。(请注意,WebStorm不会为生成任何错误*generator()。)

1
导入无法在PhpStorm / Webstorm中使用JavaScript
我正在尝试运行一段在教程中编写的JavaScript代码,如下所示: main.js import Vue from 'Vue'; import Alert from './components/Alert.vue'; new Vue({ el: 'body', components: { Alert } }) 但是,PhpStorm提供了以下错误: 当前的JavaScript版本不支持导入声明 如何在PhpStorm中获得更新的JavaScript版本?这真的是问题吗?


1
打字稿:无法在模块外使用import语句
我在节点js(最新版本的node.js,适用于07.10.19)应用程序中有一个.ts文件,其中包含导入节点模块而没有默认导出的情况。我使用以下构造:import { Class } from 'abc';运行代码时,出现以下错误:Cannot use import statement outside a module。 在网络中,我看到了针对此问题的许多解决方案(针对.js),但这对我没有帮助,也许是因为我有打字稿文件。这是我的代码: import { Class } from 'abc'; module.exports = { ... execute(a : Class ,args : Array<string>){ ... 这是我的tsconfig.json: { "compilerOptions": { "target": "es6", "module": "commonjs", "strict": true } }

2
在JavaScript ES6中,可迭代和迭代器之间有什么区别?
可迭代与迭代器相同还是不同? 从规范中看来,一个可迭代对象是一个对象,例如,obj它obj[Symbol.iterator]引用一个函数,以便在被调用时返回一个对象,该对象具有next可以返回该{value: ___, done: ___}对象的方法: function foo() { let i = 0; const wah = { next: function() { if (i <= 2) return { value: (1 + 2 * i++), done: false } else return { value: undefined, done: true } } }; return wah; // wah is iterator …

1
为什么在JavaScript中(super .__ proto__ === this .__ proto__)是正确的?
似乎在JavaScript(ES6)类中super.__proto__ === this.__proto__。 您能解释为什么会这样吗?在不同的浏览器上,行为似乎是一致的,因此我怀疑这是在规范中的某个地方指定的。 考虑以下代码: class Level1 { myFunc() { console.log('Level1'); } } class Level2 extends Level1 { myFunc() { console.log('Level2'); } } class Level3 extends Level2 { myFunc() { console.log('Level3 BEGIN ' + Math.random()); super.__proto__.myFunc(); console.log(super.__proto__ === this.__proto__); console.log('Level3 END'); } } const foo = new Level3(); foo.myFunc(); 运行代码段隐藏结果展开摘要 …

2
如何为Piped ES6函数生成JSDoc
我有一个ES6样式的函数,该函数是使用组成的asyncPipe。 import { getItemAsync } from 'expo-secure-store'; const asyncPipe = (...fns) => x => fns.reduce(async (y, f) => f(await y), x); const getToken = () => getItemAsync('token'); const liftedGetToken = async ({ ...rest }) => ({ token: await getToken(), ...rest, }); const liftedFetch = ({ body, route, token, method = …

1
带有块作用域的Javascript默认参数仅在iOS上失败
try { const val = 'correct value'; (() => { ((arg = val) => { const val = 'ignored value'; alert(arg); })(); })(); } catch (err) { alert(err.message || 'Unknown error'); } 运行代码段隐藏结果展开摘要 在OS X Chrome,OS X Safari,Android Chrome,Windows Chrome,Windows Firefox 甚至 Windows Edge上,它会警告“正确值”。在iOS Safari和iOS Chrome上,它会提示“找不到变量:val”。 以下代码段均适用于iOS: 不使用默认参数(代码段2): try { …

2
由于错误而无法使用Jest测试发布方法无法读取未定义的嘲笑
我有一个api服务,在这里我有不同的方法来调用API。我已经成功测试了所有GET请求,但是在测试POST请求时遇到了麻烦。 这是方法: export default class ApiService { static makeApiCall = <T>( url: string, oneCb: <T>(d: Data) => T, secondCb: (d: T) => void, errorCb?: (a: ErrorModel) => void, method = 'get', data = {}, ): Promise<void> => { const config: AxiosRequestConfig = {}; if (method === 'post') { config.headers = …
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.