: 자바 스크립트의자바 스크립트 VAR 구문
var array = array || [];
... 그리고 다음 두 부분이 서로 동일?
var array = array || [];
array.push([1],[2]);
array.push([3]);
=
var array = array.push([1],[2],[3]) || [];
?
: 자바 스크립트의자바 스크립트 VAR 구문
var array = array || [];
... 그리고 다음 두 부분이 서로 동일?
var array = array || [];
array.push([1],[2]);
array.push([3]);
=
var array = array.push([1],[2],[3]) || [];
?
이 어레이는 falsy 값이면 (undefined
가 null
등)을 의미 []
;
편집 :
두 번째 부분 - 이것들은 동일하지 않습니다. 예컨대
, 배열 undefined
이다
var array = array.push([1],[2],[3]) || [];
이 예외가 발생한다.
이
:var array = array || [];
array.push([1],[2]);
array.push([3]);
하지 않습니다.
var가 정의되지 않은 경우 새 배열로 설정 중입니다. var array
에 할당 될 값이 빈 배열 - -
이 구문은 javascript 부울 or
연산자와 true/false 문 평가를 사용하여 유효한 기본값을 제공합니다.
var array = array || [];
수단는 "array
가 false 평가되는 경우는 하늘의 배열을 사용합니다."
그것은이 동일합니다,
var array;
if(array){
array = array;
} else {
array = [];
}
그냥 훨씬 짧은 형태이다.
두 번째 부분에서는 해당 두 가지가 동일하지 않습니다.
array.push([1],[2],[3])
은 무엇이든 상관없이 실행해야합니다. || []
을 사용하면 추가되지 않습니다. 즉
, 당신은
var array;
if(array){
array = array;
} else {
array = [];
}
array.push([1],[2],[3]);
이 시작 그리고 당신은 그것이 falsey 경우 첫 번째 문은 빈 배열로 array
을 설정합니다
var array;
if(array){
array = array;
array.push([1],[2],[3]);
} else {
array = [];
}
이 그것을 수정 값 (null
, undefined
등).
다음 두 부분은 같지 않으므로 push
을 배열이 아닌 것으로 호출하려고하면 실패합니다.
감사합니다. 이미 문제를 해결하고 있습니다. Google Analytics 추적 코드를 최적화하는 중입니다. – 350D