如何在javascript中访问对象中的值?
我有一个这样的对象,我可以这样记录:如何在javascript中访问对象中的值?,javascript,Javascript,我有一个这样的对象,我可以这样记录: console.log(node.data.target.fields); 我想访问url值,但它抛出一个错误: const url = node.data.target.fields.file.['en-US'].url; 如何正确访问en-Us变量?由于en-Us不能用作变量名(-是运算符,不能用作变量的一部分),因此不能使用点符号。因此,您可以访问的唯一方法是使用[]符号 const url = node.data.target.fields.fi
console.log(node.data.target.fields);
我想访问url值,但它抛出一个错误:
const url = node.data.target.fields.file.['en-US'].url;
如何正确访问en-Us变量?由于
en-Us
不能用作变量名(-
是运算符,不能用作变量的一部分),因此不能使用点符号。因此,您可以访问的唯一方法是使用[]
符号
const url = node.data.target.fields.file['en-US'].url;
以上是访问它的正确方式,否则,您也可以通过以下方式访问:
const lang = 'en-US';
const url = node.data.target.fields.file[lang].url;
两个例子:
const节点={
数据:{
目标:{
字段:{
文件:{
“en US”:{
url://images.ctfassets.net/qkwv5aiilkmk/“
}
}
}
}
}
};
(() => {
log(“使用直接访问…”);
const url=node.data.target.fields.file['en-US'].url;
console.log(url);
})();
(() => {
log(“使用变量…”);
const lang='en US';
const url=node.data.target.fields.file[lang].url;
console.log(url);
})();代码>要从给定的答案中添加访问对象属性的一些指导原则,下面是一些将来会对您有所帮助的提示
1。点属性访问器
访问对象属性的常用方法是点属性访问器语法:
expression.identifier
const hero = {
name: 'Batman'
};
// Dot property accessor
hero.name; // => 'Batman'
1.1点属性访问器需要标识符
-当属性名称是有效标识符时,点属性访问器可以正常工作。JavaScript中的标识符包含Unicode字母、$、\和数字0..9,但不能以数字开头
const weirdObject = {
'prop-3': 'three',
'3': 'three'
};
weirdObject.prop-3; // => NaN
weirdObject.3; // throws SyntaxError: Unexpected number
- 要使用这些特殊名称访问属性,请使用方括号属性访问器(将在下一节中介绍):
2。方括号属性访问器:
-表达[表达]
const property = 'name';
const hero = {
name: 'Batman'
};
// Square brackets property accessor:
hero['name']; // => 'Batman'
hero[property]; // => 'Batman'
3。对象分解:
- 常量{identifier}=表达式李>
请注意,您可以提取任意数量的属性:
const{identifier1,identifier2,…,identifierN}=表达式文件。['en-US']。url
看起来像一个简单的打字错误,你是不是想做文件['en-US']。url
IOW:你在那里加了一个点。
const weirdObject = {
'prop-3': 'three',
'3': 'three'
};
weirdObject['prop-3']; // => 'three'
weirdObject[3]; // => 'three'
const property = 'name';
const hero = {
name: 'Batman'
};
// Square brackets property accessor:
hero['name']; // => 'Batman'
hero[property]; // => 'Batman'
const hero = {
name: 'Batman'
};
// Object destructuring:
const { name } = hero;name; // => 'Batman'