javascript - VS Code JS:为什么/什么时候定义中断?
问题描述
我将 VS Code 用于 JavaScript。
文件中的定义有时有效,但有时无效。有谁知道他们为什么失败?在这个例子中,VS Code很容易
找到它的定义。edit
在此文件的其他任何地方都没有出现“某事”一词。完全独一无二。那么,为什么 VS Code 找不到它的定义呢?
如果我知道原因,也许我可以更改我的代码来解决它。
VS Code 也找不到对这些“丢失”属性的任何引用。这对于跟踪调用函数的位置等非常令人沮丧。
解决方案
你应该使用this
.
const edit = {
something: 5,
test() {
this.something;
},
};
您不能将箭头函数用于test
字段,或者this
将指向其他地方而不是edit
对象。
编辑:在撰写本文时最新版本的 TS 的 TypeScript 4.3.5 中,TS 能够检测对象文字中的自引用,并且两者都edit.something
可以this.something
工作。对于使用 JavaScript 的情况,升级 VS Code 应该可以解决问题。
推荐阅读
- xslt - XSLT 1.0 字符串长度 - 2
- php - 按列解析 PHP 中的 CSV 文件
- sql - 在 oracle 中连接具有相同列的两个查询的结果
- excel - 比较 2 张纸并在评论中添加减法结果
- java - 一起使用 String 和 int 时的 System.out.println 行为
- javascript - 我可以将以下代码发布到任何其他域吗?
- android - 使用 Record Espresso 时屏幕冻结
- rust - 如何获得在 Rust 中实现特定特征的类型列表?
- joblib - 使用joblib并行时如何设置进程/线程
- r - Quantmod addMACD() 删除线图