在三元运算符的条件中使用的Javascript冒号符号(
问题描述:
)
function Menu(c) {
var c = {
names: c.names ? c.names : undefined,
fonts: c.fonts ? c.fonts : undefined
};
我是JavaScript新手。 一些地方,我发现这个代码,我被困在这里。在三元运算符的条件中使用的Javascript冒号符号(
所以我知道的是
Questionmark(?)的符号是有条件的(三元)运算符。
其语法
condition ? value1 : value2
那么问题1)为什么“:”在条件和值都被使用?
names: c.names ? c.names : undefined,
和供参考(名称)给出了一组名称。
在此先感谢。
答
第一个冒号是将键与您正在构建的对象的值(例如var o = { foo: "bar" }
)分开的值。
它可以帮助用括号重写一遍:
var c = {
names: (c.names ? c.names : undefined),
fonts: (c.fonts ? c.fonts : undefined)
};
'的名字:...'左边是指的对象的键,rightside是指的价值,这是的结果三元运算符 – Lixus
第一个冒号与三元运算符没有任何关系...... var c = {foo},fonts:“bar”}' – epascarello
为什么'var',其中给出了本地'c',为什么不使用逻辑或'''',如'names:c.names ||未定义,'? –