📌  相关文章
📜  类型“Window & typeof globalThis”上不存在属性“socket”.角度 - Javascript (1)

📅  最后修改于: 2023-12-03 15:27:27.059000             🧑  作者: Mango

JavaScript异常:类型“Window & typeof globalThis”上不存在属性“socket”

当在JavaScript代码中出现 类型“Window & typeof globalThis”上不存在属性“socket” 的异常时,表示在window或globalThis上访问了名为socket的属性,但该属性不存在。

错误示例
socket.emit('data', { message: 'Hello World' });
原因

通常情况下,这个错误信息是因为你尝试在某个对象上调用一个不存在的属性或方法,从而触发了异常。

在上述示例中,如果socket对象未被定义或声明,或者定义或声明了但是没有赋值为一个对象,该代码都会导致 ‘socket’未定义的异常。

解决方法

解决这个异常信息的方法是,在使用socket之前,先确认socket对象是否已经正确地定义和初始化。

例如:

// 从服务器获取socket对象
const socket = io();

socket.emit('data', { message: 'Hello World' });

上述代码已经通过将 io() 函数的返回值赋值给 socket,定义并初始化了 socket对象。接下来的代码中就可以放心地引用 socket 去调用它的方法。

结论

在JavaScript编程中,无论是哪种异常信息,都是非常常见的。这个错误提示 类型 “Window & typeof globalThis”上不存在属性“socket” 通常发生在使用socket库时,没有正确初始化和定义 socket 对象。

解决这个问题的方法就是要先确认变量是否已经被定义和初始化了,再去调用变量的方法。