收藏
回答

已声明“XXX”,但从未读取其值。ts(6133) 该值明明已被使用,但还是报未读取?

遇到一个问题,不明所以,声明了一个值 并且使用了 但还是报错未读取, 把声明语句注释掉删掉 就报该值未声明

let a
let b
Page({
...
  onLoad: function(){
      a = 1
      b = 2
  }
})
// 报错:已声明“a”,但从未读取其值。ts(6133)
// 报错:已声明“b”,但从未读取其值。ts(6133)
// 注释或删除声明:let a let b 报错:找不到名称“a”。ts(2304) 找不到名称“b”。ts(2304)
// 在声明后调用的地方前一句加上console.log(a, b) 不报错
// 在onLoad使用前 加上console.log(a, b)也不报错
最后一次编辑于  2021-03-18
回答关注问题邀请回答
收藏

3 个回答

  • 柳柳软件
    柳柳软件
    2022-08-12

    tsconfig.json中,

    "noUnusedParameters": true => "noUnusedParameters": false

    "noUnusedLocals": true => "noUnusedLocals": false

    2022-08-12
    有用 1
    回复
  • Yozzy
    Yozzy
    2021-05-22

    出了一样的问题,楼主解决了吗


    2021-05-22
    有用
    回复 1
    • 一
      2021-06-07
      暂时无解,被迫console一下或者忽略报错
      2021-06-07
      回复
  • 默
    2021-03-18

    声明的时候 加下;分号试下呢?

    例如:

    let a;

    let b;

    或者

    let a,b;

    2021-03-18
    有用
    回复 3
    • 一
      2021-03-18
      加分号没有区别,let a,b;报错变成了”所有变量均未使用。ts(6199)“
      2021-03-18
      回复
    • 一
      2021-03-18回复
      代码片段没有typescript的选择
      2021-03-18
      回复
    • 默
      2021-03-18回复
      好吧
      2021-03-18
      回复
登录 后发表内容
问题标签