Attacklab.wmd_env.buttons=Attacklab.wmd_env.buttons||_4;
|| 이 경우에는?
Attacklab.wmd_env.buttons 인 배열에 _4를 추가합니까?|| 연산자합니까?
Attacklab.wmd_env.buttons=Attacklab.wmd_env.buttons||_4;
|| 이 경우에는?
Attacklab.wmd_env.buttons 인 배열에 _4를 추가합니까?|| 연산자합니까?
JavaScript의 연산자는 해당 값이 false
으로 평가되지 않으면 왼쪽에있는 값을 반환하고, 그렇지 않으면 오른쪽에있는 값을 반환합니다. Mozilla's Core JavaScript 1.5 Reference에서
:
expr1 || expr2
반환expr1
true로 변환 될 수 있으면; 그렇지 않으면expr2
을 반환합니다. 따라서 부울 값과 함께 사용하면||
은 피연산자 중 하나가 true이면 true를 반환하고 그렇지 않으면 false를 반환합니다. 둘 다 false이면 false를 반환합니다.Attacklab.wmd_env.buttons
에 값이없는 경우
그래서,이 경우, 그것은 _4
에 값을 설정합니다.
MDC가 모호한 표현을 사용하는 것은 이상합니다. "** ** 사실로 변환 될 수 있다면 ** expr1을 반환합니다." 실제로 "변환 될 수있는"것에 관한 것이 아니라 값 표현식이 반환하는 것입니다. – kangax
Attacklab.wmd_env.buttons
이 null
또는 undefined
인 경우 기본값은 _4
으로 설정됩니다.
그것은 기본값을 제공 좋다
if(!Attacklab.wmd_env.buttons)
Attacklab.wmd_env.buttons = _4;
를 작성하는 멋진 방법입니다. null
및 undefined
은 조건부를 트리거 할뿐만 아니라 0
, false
및 ''
입니다. 즉, 부울 컨텍스트에서 false
으로 간주되는 모든 것입니다.
|| 연산자는 표현식의 왼쪽에 제공된 값이 (부울 컨텍스트에서) 거짓인지 여부를 확인합니다. 그렇다면 식의 오른쪽에 표시된 대체 값을 반환합니다. 그렇지 않으면 원래 값을 반환합니다. null의 경우
그래서 예를 들어, 다음 코드는 기본 값으로 '푸'를 설정합니다 :Foo = Foo || "Default Value"
이 때로는 합체 연산자라고합니다. Ruby 및 Perl과 같은 다른 언어에서도 지원됩니다. C#은 ?? 같은 일을하는 연산자.
이 답변은 그가 무엇을 부르고 다른 언어 학자들이 그것을 사용하는지, 심지어 C#의 다른 구문을 알고 있습니다. 그리고 그는 여전히 그것이 무엇을하는지 모릅니다. – Beska
좋은 지적은 아마 코멘트를 남겨 두었어야했을 것입니다. 어쨌든 내 대답이 업데이트되었습니다. 올바른 이름은 –
+1입니다! 다른 SO 질문/대답은 그것을주고 싶어하는 것 같지 않았습니다 ... Xquery에서 해당 항목을 찾을 수있게 도와 줬습니다. (호기심을 가진 사람은 $ foo : = ($ foo, "default value") [1]라고합니다. –
제목을 수정하십시오. – rkb
와우, 제목을 얻기 위해 7 번의 시도가있었습니다 ... – Pool