function getFruit(fruits) {
console.log(fruits?.[1]?.[1]);
}
getFruit([["🍊", "🍌"], ["🍍"]]);
getFruit();
getFruit([["🍍"], ["🍊", "🍌"]]);
?
允许我们去选择性地访问对象内部更深层的嵌套属性。 我们尝试打印 fruits
数组索引值为 1
的子数组内部的索引值为 1
的元素。 如果在 fruits
数组索引值 为 1
的位置不存在元素,会直接返回 undefined
。 如果 fruits
数组在索引值为 1
的位置存在元素,但是子数组在索引值为 1
的位置不存在元素,也会返回 undefined
。
首先,我们尝试打印 [['🍊', '🍌'], ['🍍']]
的子数组 ['🍍']
的第2个元素。这个子数组只包含一个元素,也就意味着在索引值为 1
的位置不存在元素,所以返回的是 undefined
。
其次,我们在没有传入任何参数调用了 getFruits
函数,也就意味着形参 fruits
的默认值为undefined
。因为我们选择性地链接了 fruits
在索引值为 1
的元素,因为在索引值为 1
的位置不存在元素,因此返回的是 undefined
。
最后,我们尝试打印 ['🍍'], ['🍊', '🍌']
的子数组 ['🍊', '🍌']
的第2个元素。子数组索引值为 1
的位置为 🍌
,因此它被打印出了。