짧은 답변:
아니요 , 동일하지 않습니다.
하지만 이것은:
if (!fields) {
...
}
이것과 같습니다
if ((fields === null) || (fields === undefined) || (fields === 0) || (fields === '') || (fields === NaN) || (fields === flase)) {
...
}
길고 더 나은 답변 :
먼저 진실되고 허위적인 가치에 대해 이야기합시다.
부울로 무언가를 평가할 때 일어나는 일에 관한 것입니다. JavaScript에서 이것은 if
명령문 과 같은 것을 사용할 때 발생 합니다. 논리 연산자 좋아 ||
, !
또는 &&
; 또는 Boolean()
기능.
Boolean()
함수는 값 반환하거나 수용 true
또는 false
.
예를 들어 :
var age = 1; // Let's evaluate age as a boolean
Boolean(age); // true
계속해서 노드 repl에서 시도하십시오.
부울 만 할 수 있습니다 true
또는 false
의 반환 값이 있도록 Boolean()
해야한다 일 수 true
또는 false
. 이 경우, 우리는 value를 전달했으며 1
부울로 평가 될 때 1
is true
입니다.
중요 사항 : 부울로 평가되는 경우 값은 true 또는 false 여야합니다. 그것들은 유일한 두 가지 옵션입니다.
JavaScript에는 6 개의 잘못된 값만 있습니다. false
부울로 평가 될 때의 값입니다. 그들은이다 : false
, 0
, ""
, null
, undefined
,와 NaN
. 따라서 이러한 값 중 하나라도 부울로 평가되면 false입니다.
Boolean(false) // false
Boolean(0) // false
Boolean("") // false
Boolean(null) // false
Boolean(undefined) // false
Boolean(NaN) // false
이는 JavaScript에서 다른 값 true
은 부울로 평가 될 때임을 의미합니다. 따라서 JavaScript의 다른 모든 가치는 진실합니다.
무언가를 평가하는 또 다른 쉬운 방법 boolean
은 !
연산자 를 사용하는 것 입니다. Boolean
함수 와 마찬가지로 값을 부울로 평가합니다. 그러나 진실한 가치관이 false
되고 거짓된 가치관이 true
됩니다.
!false // true
!0 // true
!"" / true
!null // true
!undefined // true
!NaN // true
다시, 노드 repl 또는 이해하기 위해 무언가를 사용해보십시오.
따라서이 진술 :
if (!fields) {
...
}
" fields
부울로 평가 될 때 false 인 경우이 if 문에서 코드를 실행하십시오."
첫 번째 진술은 다음과 같습니다.
var fields = options.fields || ['id', 'query'];
논리 OR 연산자를 사용하고 있으며 이해하기 위해 읽을 가치가 있습니다. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators