JavaScript 中调用的变量后面的数组是什么?
What is an array right after a variable called in JavaScript?
我对这一行很好奇,从来没有见过变量后面有数组的这种格式:
pics[coinToss() === 'heads' ? 'kitty' : 'doggy']
渲染 pics.doggy 或 pics.kitty
是否有关于此格式的具体文档我可以阅读更多?
import ReactDOM from 'react-dom';
function coinToss () {
// Randomly return either 'heads' or 'tails'.
return Math.random() < 0.5 ? 'heads' : 'tails';
}
const pics = {
kitty: 'https://content.codecademy.com/courses/React/react_photo-kitty.jpg',
doggy: 'https://content.codecademy.com/courses/React/react_photo-puppy.jpeg'
};
const img = <img src={pics[coinToss() === 'heads' ? 'kitty' : 'doggy']} />;
ReactDOM.render(
img,
document.getElementById('app')
);
它不是一个数组,它是一个 property access - 就像当您使用 myArray[5]
访问某些数组的元素以获取第 6 个元素(即 属性 5
数组),但它对对象的字符串属性的作用相同:
pics['kitty']
等同于 pics.kitty
.
访问的 属性 的名称是 coinToss() == 'heads' ? 'kitty' : 'doggy'
的计算结果(根据结果使用 ?:
产生 'kitty'
或 'doggy'
coinToss()
).
这里它在功能上与coinToss() === 'heads' ? pics.kitty : pics.doggy
相同。
我对这一行很好奇,从来没有见过变量后面有数组的这种格式:
pics[coinToss() === 'heads' ? 'kitty' : 'doggy']
渲染 pics.doggy 或 pics.kitty
是否有关于此格式的具体文档我可以阅读更多?
import ReactDOM from 'react-dom';
function coinToss () {
// Randomly return either 'heads' or 'tails'.
return Math.random() < 0.5 ? 'heads' : 'tails';
}
const pics = {
kitty: 'https://content.codecademy.com/courses/React/react_photo-kitty.jpg',
doggy: 'https://content.codecademy.com/courses/React/react_photo-puppy.jpeg'
};
const img = <img src={pics[coinToss() === 'heads' ? 'kitty' : 'doggy']} />;
ReactDOM.render(
img,
document.getElementById('app')
);
它不是一个数组,它是一个 property access - 就像当您使用 myArray[5]
访问某些数组的元素以获取第 6 个元素(即 属性 5
数组),但它对对象的字符串属性的作用相同:
pics['kitty']
等同于 pics.kitty
.
访问的 属性 的名称是 coinToss() == 'heads' ? 'kitty' : 'doggy'
的计算结果(根据结果使用 ?:
产生 'kitty'
或 'doggy'
coinToss()
).
这里它在功能上与coinToss() === 'heads' ? pics.kitty : pics.doggy
相同。