如何确定socket = null或undefined
我想要实现的目标
if(socket.username == NULL){
givenulldata()
}
这是我的套接字删除断开连接,但有时用户实际上没有离开网站,我不想用一个请刷新页面的东西,当它不需要时惹恼他们。由于笔记本电脑上的电池没电了,或者无法断开连接并重新连接(移动设备更常见的问题)等等。
socket.on('disconnect', function(data){
if(!socket.username) return;
delete username[socket.username];
});
答案 0 :(得分:3)
undefined和null是伪值,因此它们转换为boolean会导致false
你可以尝试:
if((!socket) || (socket && !(socket.username))){
givenulldata()
}
通过这个检查套接字是否存在或者是否存在但是没有用户名
答案 1 :(得分:0)
如何满足主题入门者的问题有一种改进的方法:
if (!isSocket || !socket.username) {
givenulldata()
}
它是如何运作的?
如果!isSocket
为真,则会提供空数据。 JS甚至不会去!socket.username
!但是如果!isSocket
为假,那么假设isSockt
为真,并且JS会检查是否有用户名。这样代码看起来更干净