为什么是真的?'false':'true'返回'true'?

JM *_*ork 11 javascript

为什么当我这样做

(!true) ? 'false' : 'true'
Run Code Online (Sandbox Code Playgroud)

它回来了'true'吗?

Buh*_*ndi 65

它只是意味着

if (!true) {
  return 'false';
} else {
  return 'true';
}
Run Code Online (Sandbox Code Playgroud)

!true(不是真的)意思是false,所以else返回.


小智 22

的语法A ? B : C的装置,如果A为TRUE,则返回该值B.否则返回值C.由于A是FALSE,则返回这恰好是C值true.


Dan*_*iel 20

因为(!true)是假的,然后选择右侧:.

  • 真是假,虚假是真的.WAT (4认同)

Dav*_*ang 17

因为以上相当于:

if (false) {
    return 'false';
} else {
    return 'true';
}
Run Code Online (Sandbox Code Playgroud)

虽然可能混淆来自于以下两者之间的区别:

if (false) // which is false
Run Code Online (Sandbox Code Playgroud)

if (false == false) // which is true
Run Code Online (Sandbox Code Playgroud)


StK*_*ler 7

这可以扩展到:

if(!true){
   return 'false';
} else {
   return 'true';
}
Run Code Online (Sandbox Code Playgroud)