O que é "?: "notation in JavaScript?
Encontrei este pedaço de código nas minhas viagens para investigar o JSON.
var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
Estou a ver cada vez mais a notação de ?
e :
. Nem sei como se chama procurar! Alguém me pode indicar um bom recurso para isto? já agora, sei o que significa.
12
Author: user2864740, 2010-07-24
4 answers
Chama-se um operador condicional (ternário) . É essencialmente um " se " condensado.
Então isto:
var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
... é o mesmo que isto:
var array;
if (typeof objArray != 'object') {
array = JSON.parse(objArray);
} else {
array = objArray;
}
24
Author: Matt Huggins, 2014-05-22 00:06:38
É o operador ternário condicional. --
basicamente,
if (condition) {
a = 4;
}
else {
a = 5;
}
Torna-se
a = condition ? 4 : 5;
12
Author: Alexander Gessler, 2010-07-23 22:02:21
Isso chama-se operador condicional.:
condition ? expr1 : expr2
Se
condition
Fortrue
, o operador devolve o valor deexpr1
; caso contrário, devolve o valor deexpr2
.
10
Author: Gumbo, 2010-07-23 22:01:45
Lê assim:
result = (condition) ? (true value) : (false value);
Coloque o que quiser nos três operadores.
Tantos o compararam com um se.. Então estrutura, assim é.
2
Author: BerggreenDK, 2010-07-24 00:22:12