>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 \'options = options || {}\'는 무엇을 합니까?

JavaScript에서 \'options = options || {}\'는 무엇을 합니까?

DDD
DDD원래의
2024-11-03 12:38:31607검색

What does

JavaScript의 "options = options || {}" 이해

"options = options || {}와 같은 코드 조각이 나타나는 경우 ;", 이는 기능에 대한 의문을 제기합니다. 이 스니펫은 함수 인수의 기본값을 설정하는 데 자주 사용됩니다.

이 표현식의 핵심은 논리 OR(||) 연산자에 있습니다. 이 연산자는 피연산자를 순서대로 평가하여 발견된 첫 번째 참 값을 반환하거나 모두 거짓인 경우 마지막 값을 반환합니다. 이 경우 "옵션"이 먼저 평가됩니다. "options"가 거짓인 경우(정의되지 않음, null, 0, "" 등) 거짓으로 평가되고 표현식은 "options || {}"가 됩니다.

"{}"는 JavaScript입니다. 빈 객체를 나타내는 객체 리터럴. 따라서 "options"가 처음에 정의되지 않은 경우 이 표현식은 "options" 변수에 빈 개체를 할당합니다. "options"가 이미 존재하는 경우 "options"가 참값이므로 평가가 중지됩니다.

이 패턴은 함수 인수가 정의되지 않은 상태로 전달될 때 기본값으로 초기화하는 데 사용됩니다. 예를 들면 다음과 같습니다.

function test(options) {
  options = options || {};
}

이 함수가 인수 없이 호출되면 "options"에 빈 개체가 할당됩니다. "options"가 명시적으로 정의되지 않은 것으로 전달되면 기본값도 사용됩니다.

ES6 업데이트

ES6에서는 기본 매개변수 값을 도입하여 이 표현식을 기본값 설정에 사용하지 않게 되었습니다. . ES6에서는 다음 구문을 사용하여 기본값을 설정할 수 있습니다.

function test(options = {}) {
  //...
}

이 구문을 사용하면 "options"가 정의되지 않음으로 전달되거나 명시적으로 정의되지 않음으로 설정된 경우 빈 개체의 기본값을 사용합니다. . ||와 달리 연산자 패턴을 사용하면 다른 잘못된 값은 기본값 사용을 트리거하지 않습니다.

위 내용은 JavaScript에서 \'options = options || {}\'는 무엇을 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.