问题:未定义变量

时间:2019-05-02 20:48:56

标签: reactjs typescript webpack

我对简单的打字稿代码有疑问。我正在尝试将对象映射到字符串,结果是意外的,该方法总是返回'desc'。我正在尝试调试代码,但奇怪的是,未定义id变量。当我尝试在控制台上登录“ state [0] .id”时,将打印正确的值。谢谢您的帮助!

interface Pageable {
   id: string,
   desc: boolean
}

private mapSortedToSortingString(state: Pageable[]): string {
    if (state.length > 0) {
        let id: string = state[0].id;
        let sort = id + ',' + (state[0].desc) ? 'desc' : 'asc';
        console.log(sort);
    }

    return (state.length > 0) ? (state[0].id + ',' + (state[0].desc) ? 'desc' : 'asc') : "";
}

Console screenshot

1 个答案:

答案 0 :(得分:0)

(仅部分答案,但需要设置格式。)

由于运算符的优先级,您的三元仍将是不正确的。

将三元组周围的部分设为括号,例如第一个:

    const sort = id + ',' + ((state[0].desc) ? 'desc' : 'asc');

或者更清晰地将其作为中间变量进行划分。


无关,但由于尚未重新分配,请使用const

关于为什么它是undefined,我们看不到您的数据,所以我们不知道。是不是异步(在这种情况下,console.log可能会产生误导)?