在 PowerShell 上,我在执行tsc
. 这是以前从未发生过的。
我不确定我是否应该使用 PowerShell 安全设置来纠正这个问题,例如基于这个:PowerShell 说“在这个系统上禁用了脚本的执行”。
这是 npm 使用 ps1 脚本的新预期功能。他们的 repo 中提出了一个问题:https : //github.com/npm/cli/issues/470
当与传播运营商的使用靶向ES5 ...
到转换Iterator
到Array
,它显示的错误使用-downlevelIteration
编译器选项。一旦启用,散布运算符似乎就可以完美地工作。
我不知道为什么需要指定这个?启用该功能后,除了从tslib添加更多发出的生成代码之外,还有其他缺点吗?
另一个示例:动态创建N个数组(例如3):
[...Array(3).keys()] // output: [0, 1, 2]
Run Code Online (Sandbox Code Playgroud)
来自的错误消息tsc
:
类型“ IterableIterator”不是数组类型或字符串类型。使用编译器选项'--downlevelIteration'允许迭代器进行迭代。
在 VS Code Powershell Terminal 中,您只需按向上和向下箭头键即可浏览输入命令的历史记录,即使在重新启动后也是如此。但是,当输入相同的命令时,它也会循环这些重复的历史记录,而不仅仅是将它们分开,从而很难找到循环回到某些旧的历史记录。有没有办法彻底清除这段历史?
让我们说我有一组键值对象:
const data = [
{key: "object1", value: "data1"},
{key: "object2", value: "data2"},
{key: "object3", value: "data3"},
]
const mappedData = data.map(x => [x.key, x.value]);
const ES6Map = new Map<string, string>(mappedData.values())
Run Code Online (Sandbox Code Playgroud)
如何将其转换为ES 6地图?它适用于JavaScript,但TypeScript会抱怨.在这里我得到了错误Argument of type 'IterableIterator<string[]>' is not assignable to parameter of type 'ReadonlyArray<[string, string]>'.
Property 'length' is missing in type 'IterableIterator<string[]>'.