首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型'Player | undefined‘不能赋值给类型'Player’。类型'undefined‘不能赋值给类型’Player‘。to (2322)

类型'Player | undefined‘不能赋值给类型'Player’。类型'undefined‘不能赋值给类型’Player‘。to (2322)
EN

Stack Overflow用户
提问于 2021-10-12 17:51:42
回答 1查看 48关注 0票数 0

我试图维护代码,但我的项目没有编译我有这个错误的方法,我可以从SocketID获得球员的名字,它告诉我,像标题说,这是未定义的。你能帮我修改一下这个方法让它正常工作吗?非常感谢

代码语言:javascript
复制
getPlayerFromSocketID(socketId: string): Player {
    return this.players.find((p) => p.getSocketId() === socketId);
}

在其他类似的方法中,我没有得到错误

代码语言:javascript
复制
removePlayer(playerName: string): void {
    console.log('Removing player from playerManager : ' + playerName);
    const player = this.players.find((p) => p.getName() === playerName);

    if (player !== undefined) {
        this.players.splice(this.players.indexOf(player), 1);
    }
 }
EN

回答 1

Stack Overflow用户

发布于 2021-10-12 17:55:26

代码语言:javascript
复制
getPlayerFromSocketID(socketId: string): Player {

你已经说过你要返回一个播放器,但是代码实际上可以返回undefined,所以typescript指出了不匹配的地方。由于未定义是可能的,因此更新您的返回类型:

代码语言:javascript
复制
getPlayerFromSocketID(socketId: string): Player | undefined {

或者,您可以将其关闭,然后typescript将为您解决此问题:

代码语言:javascript
复制
getPlayerFromSocketID(socketId: string) {
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69544944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档