>  기사  >  웹 프론트엔드  >  JavaScript에서 논리적 AND(&&) 및 OR(||)의 유연한 사용

JavaScript에서 논리적 AND(&&) 및 OR(||)의 유연한 사용

DDD
DDD원래의
2024-09-26 07:16:42819검색

Flexible Uses of the Logical AND (&&) and OR (||) in JavaScript

소개

부울 값은 절대값, 참 또는 거짓입니다. 그것은 최대한 명확합니다. JavaScript의 다른 데이터 유형에도 고유한 true 및 false 값이 있지만 true 및 false 대신 32, null, 0 및 'Hello'처럼 보이기 때문에 명확하지 않습니다. 모든 값에 이러한 고유 값이 있다는 것을 아는 것은 일반적으로 부울에 사용되는 모든 데이터 유형에 대해 작업을 수행할 수 있음을 의미합니다. 이는 코딩하는 동안 더 많은 창의성과 유연성을 제공합니다.

참 값과 거짓 값 이해

if와 같은 제어 흐름 키워드와 AND(&&) 및 OR(||)와 같은 논리 연산자를 사용할 때 부울을 사용하여 특정 결과를 얻습니다. 이러한 부울은 true 또는 false와 함께 명시적으로 사용될 수 있지만 ===, < 및 >와 같은 비교 연산자를 사용하여 생성하는 경우가 많습니다.

제어 흐름이나 논리 연산자와 함께 부울을 사용하지 않으면 어떻게 되나요? 글쎄, 당신은 운이 좋다! 이를 돕기 위해 모든 값은 본질적으로 true 또는 false입니다. 모든 값을 또는 거짓이라는 두 가지 범주로 분류할 수 있습니다.

값이 참인지 거짓인지 알아내려면 거짓 값이 제한되어 있으므로 기억하는 것이 가장 좋습니다.

  • false(부울 값)
  • 정의되지 않음
  • NaN(숫자 아님)
  • 0(숫자 값)
  • ""(빈 문자열 값)

다른 모든 것은 진실입니다. 어떤 내용이 진실인지 거짓인지 확실하지 않거나 모호해 보이는 독특한 상황에 직면한 경우 언제든지 if 문을 생성하여 다음 코드 블록 내의 코드가 실행되는지 확인할 수 있습니다.

if (23) { console.log(“truthy”); } // Prints “truthy”
else { console.log(“falsy”); }

if (null) { console.log(“truthy”); } 
else { console.log(“falsy”); } // Prints “falsy”

논리 AND(&&)

논리 AND(&&)와 함께 부울을 사용할 때 논리 연산자가 true를 반환하려면 두 값이 모두 true여야 합니다. 그렇지 않고 하나 이상의 값이 false이면 false를 반환합니다.

console.log(false && false); // false
console.log(true && false); // false
console.log(true && true); // true

논리 AND(&&) 연산자의 메커니즘을 이해하면 참 값과 거짓 값을 구분하는 데 도움이 될 수 있습니다. 왼쪽 값이 거짓이면 반환하고, 그렇지 않으면 반환합니다. 그렇지 않으면 오른쪽 값을 반환합니다.

console.log(0 && 1); // 0
console.log("a" && ""); // "" (an empty string)
console.log([] && [1, 2, 3]); // [1, 2, 3]

논리 AND(&&) 연산자는 거짓 값을 반환하려고 하며 둘 다 참인 경우 오른쪽의 참 값만 반환합니다. 다음과 같은 두 가지 주장을 생각해 볼 수 있습니다.

(왼쪽) 내가 거짓 값인 경우에만 나를 사용하세요. && (오른쪽) 그렇지 않으면 저를 사용하세요.

논리합(||)

논리 OR(||)와 함께 부울을 사용하는 경우 논리 연산자가 false를 반환하려면 두 값이 모두 false여야 합니다. 그렇지 않고 하나 이상의 값이 true이면 true를 반환합니다.

console.log(false || false); // false
console.log(true || false); // true
console.log(true || true); // true

논리 OR(||) 연산자의 작동 방식은 다음과 같습니다. 왼쪽의 값이 true이면 반환하고, 왼쪽 값이 true이면 반환합니다. 그렇지 않으면 오른쪽 값을 반환합니다.

console.log(1 || 0); // 1
console.log("" || "a"); // "a"
console.log(undefined || null); // null
console.log([] || [1, 2, 3]); // []

논리 OR(||) 연산자는 참 값을 반환하려고 하며 둘 다 거짓인 경우 오른쪽의 거짓 값만 반환합니다. 다음과 같은 두 가지 주장을 생각해 볼 수 있습니다.

(왼쪽) 내가 진실한 가치인 경우에만 나를 사용하세요. || (오른쪽) 그렇지 않으면 나를 이용하세요.

AND(&&)와 OR(||)의 창의적인 사용

입력을 기대할 때 기본값 사용

사람을 설명하는 속성과 개체의 다른 속성을 사용하여 다른 사람에게 인사하는 기능이 포함된 사람을 나타내는 개체를 생성한다고 가정해 보겠습니다.

function Person(name) {
    // If name is undefined, this.name will 
    // default to 'a person with no name'
    this.name = name || 'a person with no name';
    this.greet = function() {
        console.log('Hello, I am ' + this.name + '.');
    };
}

// Create Person variables
var tyler = new Person('Tyler');
var mystery = new Person(); 
// Without an input, this.name defaults to the 
// second option since name is undefined.

// Call greet() from each Person object
tyler.greet(); // "Hello, I am Tyler."
mystery.greet(); // "Hello, I am a person with no name."

위 예에서는 name 매개변수에 대한 입력이 필요했기 때문에 OR(||) 연산의 두 번째 값은 name이 정의되지 않은 경우(함수 호출 시 인수 없음)에만 사용됩니다.

다중 입력 요구

객체를 생성하고 객체를 생성하기 전에 입력 개수가 설정되어 있는지 확인하려는 경우 각 필수 매개변수에 대해 논리 AND(&&) 연산자를 함께 연결할 수 있습니다.

function Person(firstName, lastName, age) {
  if (firstName && lastName && age) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.fullName = `${this.firstName} ${this.lastName}`;
    this.age = age;
    this.greet = function() {
      console.log(`Hello, my name is ${this.fullName} and I'm ${this.age} years old.`);
    };
  } 

  // If any argument is missing, the object will only have this property.
  else {
    this.greet = function() {
      console.log(`Hello, I am not a fully formed Person.`)
    };
  }
}

var tyler = new Person('Tyler', 'Meyer', 32);
var brad = new Person('Brad', '', 38);

tyler.greet(); // "Hello, my name is Tyler Meyer and I'm 32 years old."
brad.greet(); // "Hello, I am not a fully formed Person."

if 문은 전체 Person 객체를 생성하기 전에 각 매개변수에 대한 인수를 확인합니다. 인수 중 하나라도 잘못된 값이면 대신 else 문을 사용하여 객체를 생성합니다. 따라서 불완전한 개체를 방지하거나 불완전한 항목에 대한 기본 개체를 생성할 수 있습니다.

Abschluss

Wenn Sie einen Standardwert benötigen, bis ein Wert bereitgestellt wird, kann der logische ODER-Operator (||) sehr hilfreich sein. Wenn Sie mehrere Werte benötigen, bevor Sie fortfahren, kann der logische UND-Operator (&&) sehr hilfreich sein. Dies sind nur zwei Beispiele, und wenn Sie sich weiter mit diesen Operatoren befassen, werden Sie feststellen, dass es neben der üblichen Prüfung auf wahre oder falsche boolesche Werte noch viele weitere Möglichkeiten gibt, diese Operatoren zu verwenden. Beachten Sie diese beiden Dinge, wenn Sie die Verwendung des logischen UND (&&) und ODER (||) in Betracht ziehen:

  • ODER (||) : Verwenden Sie den Wert auf der linken Seite nur, wenn er wahr ist.
  • AND (&&): Verwenden Sie den Wert auf der linken Seite nur, wenn er falsch ist.

Wenn Sie Fragen haben, hinterlassen Sie diese bitte in den Kommentaren. Gerne bespreche ich dieses Thema weiter.

Viel Spaß beim Codieren!

위 내용은 JavaScript에서 논리적 AND(&&) 및 OR(||)의 유연한 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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