小编bal*_*ve2的帖子

在 Electron 应用程序中为 TypeScript 编译器选择哪个 ECMAScript 版本?

我目前es3默认在tsconfig.json我的Electron 5.0.6项目文件中定位。我收到一条错误消息,提示我必须升级到至少才能使用TypeScriptes6的 getter/setter 功能。

现在我想知道如何为我的项目选择正确的 ECMAScript 版本。我显然想使用 ECMAScript 的最新功能,但我不知道升级到新版本将如何改变我的项目的平台支持。我仍然想支持较旧的操作系统版本,并想知道升级 ECMAScript 目标版本是否会以某种方式影响此问题,或者是否有其他原因不升级。

请告诉我是否需要在我的问题中添加更多信息。我很感激每一个答案。

javascript node.js typescript ecmascript-6 electron

8
推荐指数
1
解决办法
3523
查看次数

字符到字符串转换的所有权问题

我的失败代码(最小的、可重现的示例):

// my code

fn test() {
    let mut list: Vec<Text> = Vec::new();
    const ARRAY: [char; 3] = ['a', 'b', 'c'];
    for (i, _) in ARRAY.iter().enumerate() {
        list.push(Text::new(&ARRAY[i].to_string()));
    }
}

// external crate

#[derive(Debug, Clone, Copy, PartialEq)]
struct Text<'a> {
    pub text: &'a str,
}

impl<'a> Text<'a> {
    pub fn new(text: &'a str) -> Self {
        Text {
            text
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

编译器:“借用时临时值下降”。下面有红色波浪线

ARRAY[i].to_string()
Run Code Online (Sandbox Code Playgroud)

我猜是经典的借用检查器问题?

我尝试将类型更改为&strs 而不是chars,一切正常:

// my code
fn test() {
    let …
Run Code Online (Sandbox Code Playgroud)

string char ownership rust borrow-checker

2
推荐指数
1
解决办法
228
查看次数