如何编写函数判断用户对象是否存在密码并返回对应值?
正确实现获取用户密码的函数
先给你两种可行的实现方式:
基础严谨版
function retrievePassword(user) { // 先确保用户对象存在,再检查密码属性是否有效 if (user && user.password !== undefined && user.password !== null) { return user.password; } return undefined; }
简化版(利用ES6+语法)
function retrievePassword(user) { return user?.password ?? undefined; }
再说说你原来代码里的问题:
- 第二行的
user = password是赋值操作,不是条件判断,而且password变量根本没定义——你要检查的是传入的user对象有没有password属性,应该用user.password来访问。 - 需求要求密码不存在时返回
undefined,你原来返回的是空字符串'',不符合要求。 - 额外要注意:如果传入的
user是null或undefined,直接访问user.password会报错,所以需要先判断user本身是否有效。
内容的提问来源于stack exchange,提问作者kylehink97
相关产品推荐
相关产品推荐

