如何让printBio函数返回指定格式字符串并转换用户对象?
问题解决方案
现有代码的问题
- 函数内部直接硬编码覆盖了传入的
user参数,无法处理外部传入的用户对象 - 返回值是
user对象,不符合要求的返回字符串的需求
修改后的代码
function printBio(user) { // 设置默认用户对象,避免未传参时出错 const defaultUser = { name: 'Bob', surname: 'Martin', address: { country: "USA" } }; // 优先使用传入的user,没有则用默认值 const targetUser = user || defaultUser; // 构建符合要求的格式化字符串 const bioString = `This is ${targetUser.name} ${targetUser.surname} from ${targetUser.address.country}.`; // 保留控制台输出(若不需要可删除此行) console.log(bioString); // 返回格式化后的字符串 return bioString; } // 调用示例 printBio(); // 使用默认用户,返回并输出"This is Bob Martin from USA." // 传入自定义用户对象 // printBio({ name: 'Alice', surname: 'Johnson', address: { country: 'Australia' } });
关键修改点
- 移除了对
user参数的硬编码覆盖,改用默认值逻辑,让函数可以接收外部传入的用户对象 - 专门构建了符合结构要求的字符串
bioString,并将其作为函数返回值,满足返回字符串的需求 - 保留了原有的控制台输出逻辑(可根据需要删除)
- 函数具备通用性,既能使用默认用户,也能处理自定义用户对象
内容的提问来源于stack exchange,提问作者Niko Nota
相关产品推荐
相关产品推荐

