Qual è esattamente la differenza tra {?}
e {#}
?Polvere: differenza tra le sezioni logiche {?} E {#}
-
Dopo un piccolo test, che elenca tutti truthy/falsy values for {?}
, e confrontandole con {#}
:
contesto:
{
values: [
// false
'',
"",
false,
null,
undefined,
[],
// true
0,
"0",
"null",
"undefined",
"false",
{},
{a: 'a'}
]
}
modello:
{#values}
{?.}true{:else}false{/.}
{/values}
{~n}
{#values}
{#.}true{:else}false{/.}
{/values}
emette esattamente lo stesso risultato:
falsefalsefalsefalsefalsefalsetruetruetruetruetruetruetrue
falsefalsefalsefalsefalsefalsetruetruetruetruetruetruetrue
-
è veramente C'è qualche differenza tra loro?
Ok, il mio esempio è stato più di prova che '?' E '# 'valuta la verità allo stesso modo ... Se riassumo,' # 'cambia il contesto ed è" array-aware "mentre'? valuta la verità (allo stesso modo di "#" fa). In altre parole, '?' È un sottoinsieme di '#', giusto? – abernier
Esatto. Entrambi possono essere utili, a seconda della situazione. – smfoote
Grazie mille, hai vinto un ✓;) – abernier