【发布时间】:2022-12-08 22:14:48
【问题描述】:
我试图了解如何与字符串文字连接。我正在尝试从对象中获取值并将它们添加到字符串中。
let obj = {
name: 'Mitch',
age: 29,
job: 'tutor'
};
function createSentence(obj) { // return a string from obj
const result = ''
result = `Hello my name is ${name}, I am ${age} years old and I am a ${job}`;
return result;
}
console.log(result);
我收到的错误是我的结果对象未定义。我以为我可以在声明的同时分配它的新值。我尝试添加一个新行只是为了将结果声明为空字符串,但这并没有改变任何东西。
【问题讨论】:
-
2 个问题,
name和其他人不会从 obj 中解构,做function createSentence({name, age, job})第二个是你不能重新定义一个const,改用 let 或者只是返回,你不需要分配结果 -
您从不调用该函数,
console.log在函数之外,并且您从未在任何地方声明变量name/age/job -
^ 更正 3 期
-
您还应该了解 JavaScript 中的作用域。刚学Javascript
-
此外,
result仅在函数内部声明,而不是在函数外部声明。因此错误那个。还有 LawrenceCherone 和 Bergi 所说的 - 你永远不会调用该函数 + 如果你这样做,你会出错。
标签: javascript string-concatenation string-literals