提问人:MatrixRonny 提问时间:11/16/2023 更新时间:11/16/2023 访问量:12
Node.js:如何在实践中通过引用传递函数参数
Node.js how to pass function argument by reference in practice
问:
我发现了以下关于如何使用内置 JavaScript 功能通过引用传递参数的建议:
[Javascript] 在 JavaScript
中按值传递和按引用传递 TypeScript 按 ref 参数传递 [duplicate]
但是,它们在实践中都不起作用。请考虑以下代码示例:
let data = {
prop1: '[1,2,3]',
prop2: '{"abc":"def"}'
}
function parseString(ref prop) {
if(typeof prop === 'string') {
prop = JSON.parse(prop);
}
}
parseString(data.prop1);
parseString(data.prop2);
使用装箱方法不起作用,因为该框将包含副本,而不是对原始属性的引用。{item: data.prop1}
data.prop1
如何正确实现上述示例?
答:
0赞
MatrixRonny
11/16/2023
#1
实现函数的一种方法是指定父对象和字符串来指示引用的属性。下面是实现该示例的代码:parseString
function parseString(data, propName) {
if (!Object.keys(data).includes(propName)) {
throw new Error(`Object does not contain key ${propName}.`);
}
if(typeof prop === 'string') {
data[propName] = JSON.parse(data[propName]);
}
}
parseString(data, 'prop1');
parseString(data, 'prop2');
评论