相同类型和相同的单词,但当被问及它们是否相同时仍然​​返回false

til*_*lly 0 javascript angular

所以我正在使用socket.io开发一个聊天应用程序,我想决定它是我的消息还是别人的消息.我使用的两件事是我从localstorage中检索的全名,以及我发送新消息时从服务器返回的全名.有人知道为什么这两个仍然不一样,即使它们都是字符串而且它们都是由相同的单词组成的?

isItMyMsg(message){
        console.log(localStorage.getItem('fullName'));
        console.log(message.fullname);
        console.log(localStorage.getItem('fullName') === message.fullName);
        return localStorage.getItem('fullName') === message.fullName
    }
Run Code Online (Sandbox Code Playgroud)

这是我拍摄的截图结果.两个是来自本地存储和服务器对象的结果,而错误来自我评估它们是否相同时.我期待它返回TRUE,但我得到了一个FALSE

在此输入图像描述

Dav*_*sta 6

试试这个:1 - 检查是否有某些额外的空格,所以:

const first = localStorage.getItem('fullName').trim();
const second = message.fullName.trim();
Run Code Online (Sandbox Code Playgroud)

然后做:

console.log(first === second);
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,请尝试:

const first = localStorage.getItem('fullName').trim().toLowerCase();
const second = message.fullname.trim().toLowerCase();
Run Code Online (Sandbox Code Playgroud)

判断区分大小写是否有任何区别.