2013-04-02 2 views

답변

3

기본값은 OR 연산자를 사용합니다. whatevername이 설정되면 사용되며, 그렇지 않으면 새로운 빈 개체가 사용됩니다.

것은 예 : 당신은 항상이 함수에 전달되지 않은 경우에도 옵션 매개 변수를 사용할 수 있습니다이 경우

function sayHi(options){ 
    options = options || {}; 
    if (options.useAlert){ 
     alert("hi"); 
    } else { 
     console.log("hi"); 
    } 
} 

: 첫 번째 경우

sayHi(); 
sayHi({"useAlert": true}); 

{} 될 것입니다 used 및 options.useAlert는 정의되지 않습니다. if 문에서 false로 설정되어있는 것과 동일하며 console.log이 인쇄에 사용됩니다.

OR 연산자는 일반적으로 다음과 같이 사용됩니다

경우 (hasAnEmailAddress || hasAPhoneNumber) {contactPerson()} 운영자가 hasAnEmailAddress의 값을 대신 반환됩니다

hasAnEmailAddress가 true 인 경우 hasAPhoneNumber 참이 아니면 두 번째 인수 값인 hasAPhoneNumber이 반환됩니다. - 그것은 부울 값이 아닌 경우에도 첫 번째 인수가 두 번째 인수를 반환 falsy 경우 : 기본값을 설정할 때 로직이 사용되는

.

+0

예를 들어 모듈 패턴에 사용할 수 있습니다. http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html – Matthias

1

이것은 기본값 문입니다. ||은 OR의 상징입니다.

성명은 "whatevername을 whatevername으로 설정하거나 빈 개체로 설정"합니다. OR은 truey 값 (false가 아니라 공백이 아님)으로 읽는 두 객체 중 첫 번째 객체를 선택합니다. whatevername이 설정되면 whatevername이 생깁니다. 그렇지 않은 경우 (또는 null로 설정된 경우) 비어있는 객체가 표시됩니다.

2

whatevername가 이미 초기화되어 있지 않은 경우는 빈 객체 whatevername를 초기화합니다.

많은 언어에 상응하는 코드

if(!whatevername) whatevername = {} 
2

,이 내가하게 생각 삼항 연산자, 함께 할 볼 수 있습니다 그것은 무슨 일이 일어나고 있는지 명확. 예 :

var whatevername = (whatevername != NULL) ? whatevername : {}; 

자바 스크립트에서 || 연산자가 진리로 평가되면, 기대 한 바와 같이 부울 값을 반환하지 않고 마지막으로 평가 한 피연산자의 값을 반환합니다. 따라서 whatevername이 null이면 새 객체를 반환하고 그렇지 않으면 whatevername을 반환합니다. 루비도이 작업을 수행합니다.이 동작의 또 다른 예를 들자면 다음과 같습니다.

관련 문제