ecmascript-6 相关问题

2015版ECMAScript规范,现在是标准(ECMAScript 2015)。仅使用此标记,其中的问题与ECMAScript 2015中提供的新功能或技术更改有关。

为什么在导出函数中调用时,node-sqlite3 中的数据库方法不起作用?

我正在使用 node.js 构建一个应用程序,并使用 sqlite3 模块来访问数据存储。我一直遇到的问题是当我跑步时 节点 myapp.mjs 并且 foo() 被调用(在 log.mjs 模块中),th...

回答 1 投票 0

iOS 设备中表格页脚未固定在每个页面的底部

iOS 设备中的表页脚未固定在每个页面的底部。它在 Android 和 Windows 设备上运行良好 代码是: const downloadPdfRef = useRef(); 让日期=新日期(); 常量

回答 1 投票 0

为什么我无法迭代 ES6 Map 的属性?

在 Node.js REPL 中: > var map = new Map(); 不明确的 > 地图['foo'] = '酒吧'; '酒吧' > 地图['酒吧'] = '巴兹'; '巴兹' > 地图 地图 { foo: 'bar', bar: 'baz' } > map.forEach(console.log); 未定义...

回答 5 投票 0

NextJS 图像错误 - React.jsx:类型无效

我最近更新了我的应用程序,通过在我的 package.json 中添加“type:module”来强制执行 ES6。此外,我还更改了以下内容以适应此更改。 next.config.js -> next.config.cjs

回答 1 投票 0

JavaScript 对象解构和别名

有没有办法在JavaScript中解构一个对象并给本地解构对象起别名? 就像是: const env = {ENV_VAR_X, ENV_VAR_Y, ENV_VAR_Z} = process.env; ...并且让 env 成为

回答 2 投票 0

使用await时如何从异步生成器获取返回值

我有以下代码: for await(resolveData(data) 的 const 部分){ 控制台.log({部分}); } 它迭代一个异步生成器,如下所示: const resolveData = 异步函数* 我有以下代码: for await (const part of resolveData(data)) { console.log({part}); } 它迭代一个异步生成器,如下所示: const resolveData = async function* <T> (data: SomeValue<T>) { if (<expression1>) { if (<expression2>) { console.log("valid"); yield 1; } } return 2; } for wait 循环的输出如下所示: { part: 1 } 我也想获得返回值(在本例中为数字 2)。如何获取循环内部或外部的值? 尝试在网上查找但一无所获。 当您在生成器或异步生成器中使用 return 时,当 value 为 done 时,会在结果对象上设置 true 的值。但是 for-of 和 for-await-of 不会针对 done 为 true 的结果对象运行循环体。这是一个更简单的例子: <script type="module"> // Note: Using an async iterator even though we never await // because the OP's code is async async function* example() { yield 1; return 2; } for await (const x of example()) { console.log(x); } </script> (遗憾的是,Stack Snippets 中的“JavaScript”面板无法作为模块运行,我想使用顶级await,所以我不得不将 JavaScript 放在“HTML”面板中。) 注意如何仅显示 1。 (for-await-of也是如此。) 您至少有两个选择: 将 return 2 更改为 yield 2,这样生成器在生成 2 时尚未“完成”,如下所示: <script type="module"> // Note: Using an async iterator even though we never await // because the OP's code is async async function* example() { yield 1; yield 2; // `yield` instead of `return` } for await (const x of example()) { console.log(x); } </script> 更改代码以直接使用迭代器,而不是使用for-await-of。 <script type="module"> // Note: Using an async iterator even though we never await // because the OP's code is async async function* example() { yield 1; return 2; } const it = example(); let r; while (!(r = await it.next()).done) { console.log(r.value); } console.log(r.value); </script> 在这两种情况下,您现在都会看到 1 和 2。

回答 1 投票 0

ReactJS - 使用 useRef 和将变量放在组件外部有什么区别?

这段代码有什么区别: 函数我的组件(){ const isPersistent = useRef(true) // 更多代码... } 和这段代码: 让 isPersistent = true 函数我的组件(){ ...

回答 1 投票 0

如何在不迭代的情况下获取ES6 Map的最后一个元素?

如何在不迭代(forEach或for of)遍历整个容器的情况下获取ES6 Map/Set的最后一个元素?

回答 3 投票 0

如何在保留返回值的同时承诺基于回调的函数?

我获得了这个API: 函数 doSomeWork(回调:{ 成功?:(结果:SuccessCallbackResult)=> void, 失败?:(结果:FailCallbackResult)=>无效, 完成?:(重新...

回答 1 投票 0

有没有一种方法可以在 JS 模块中启用现代的“this”作用域并消除对“this”的需要。前缀?

我有以下模块类,为了使其与非模块功能性 javascript 类似,我必须调用一个函数将所有类成员函数绑定到正确的 this 范围,我...

回答 2 投票 0

一种在 JS 中启用默认 this 范围的方法,不需要绑定 this 或前缀类成员

我有以下模块类,为了使其与非模块功能性 javascript 类似,我必须将所有函数绑定到正确的 this 范围,并显式地将其用于类成员...

回答 1 投票 0

JavaScript/ES 6:比较对象中的数组长度

我有一个包含多个数组的对象,如下所示 一些对象 = { 数组1:['a','b'], array2:['a', 'b', 'c'], array3:['a', 'b', 'c', 'd'] } ... 中是否有任何内置方法或属性

回答 3 投票 0

在浏览器和node.js中使用.js文件

我可以在浏览器文件(someBrowserFile.js)和node.js后端文件(someBackendFile.js)中包含一些javascript文件(test.js位于公共文件夹中): 测试.js: 函数使用(na...

回答 3 投票 0

如何禁用 ES6 项目中导入/导出的文件扩展名(“.js”)需求?

我有一个 ts 模块。我使用 tsconfig.json 的 outDir 和命令 tsc -w 将此模块编译到另一个项目的特定文件夹。因此,每当我更新 ts 模块时,它都会将文件编译为...

回答 2 投票 0

获取当前模块脚本的URL

我没有在 HTML 规范或网络上的任何地方找到任何提及,这表明这是可能的,但我仍然询问以防万一。 是否可以获取模块的 URL,例如获取文件...

回答 2 投票 0

如何从 JavaScript 中的“Set”对象获取单个键值?

我有带有三个键值的 Set() 对象 var myset =new Set(); myset.add('第一个','这是第一个值'); myset.add('第二个','这是第二个值'); myset.add('第三','这是第三个值'); 使用...

回答 5 投票 0

是否可以使用Sprockets 4在Rails 7中的javascript_include_tag上设置type=module

我一直在从事一个迁移项目,将 Rails 5 升级到 Rails 7。我们决定继续使用 Sprockets,因为它是一个相当大的应用程序,迁移到新的工具集会创建......

回答 1 投票 0

使用lodash压平嵌套对象

flatten、flattenDeep 或 flattenDepth 只接受数组。如何展平嵌套对象? 变量数据 = { “日期”: { "expiry_date": "2018 年 9 月 30 日", “可用”:“2017 年 9 月 30 日”, ”

回答 7 投票 0

运行“gulp”命令时出现“错误 [ERR_REQUIRE_ESM]”

我是 Gulp 新手,正在尝试自动化一些任务。这是我的环境设置:npm 版本:8.1.0,node 版本 17.0.1,gulp CLI 版本 2.3.0 和 gulp 版本 4.0.2 这是我的 gulpfile.js: // ...

回答 6 投票 0

如何从 shell 脚本评估 ecmascript 模块?

我正在将 .js 文件转换为 .mjs 文件,但遇到了问题。 我使用 shell 脚本中的 JS 函数,如下所示: $ 节点 --eval "require(\"./foo.js\").bar($a, $b)" 转身后...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.