>  기사  >  웹 프론트엔드  >  JavaScript에서 부울이 아닌 부울 강제 변환을 설명하시겠습니까?

JavaScript에서 부울이 아닌 부울 강제 변환을 설명하시겠습니까?

王林
王林앞으로
2023-09-20 21:37:021438검색

解释一下 JavaScript 中非布尔值到布尔值的强制转换?

JavaScript에서 부울이 아닌 값을 부울 값으로 강제 변환하는 방법을 알아봅니다. 우선, 캐스트라는 단어는 JavaScript에서 새로운 단어입니다. 그럼 강제징용이 무엇인지 알아보겠습니다.

Coercion은 한 데이터 유형의 변수를 다른 데이터 유형으로 변환하는 것입니다. 우리 모두 알고 있듯이 JavaScript는 엄격한 형식의 언어가 아닙니다. 따라서 변수의 유형을 정의할 필요가 없습니다. 때때로 JavaScript는 변수를 자동으로 강제 변환하여 출력에 예측할 수 없는 결과를 제공합니다.

JavaScript에는 두 가지 유형의 캐스트가 있습니다. 하나는 암시적 시행이고, 다른 하나는 명시적 시행입니다. 이 튜토리얼에서는 두 캐스트에 대해 하나씩 배울 것입니다.

명시적 강제

명시적 캐스팅은 부울 캐스팅 방법(예: Boolean() 또는 !!) 중 하나를 사용하여 부울이 아닌 값을 부울 값으로 명시적으로 변환할 때 발생합니다.

두 가지 방법에 대해 자세히 논의하겠습니다.

double NOT (!!) 연산자를 사용한 명시적 캐스트

JavaScript의 모든 값에 not(!) 연산자를 사용하면 부울이 아닌 값을 부울 값으로 변환합니다.

하나의 not(!) 연산자는 값에 대해 잘못된 결과를 제공하고, 두 개의 not(!!) 연산자는 부울 값에 대한 실제 결과를 제공합니다.

문법

사용자는 다음 구문에 따라 이중 NOT 연산자를 사용하여 부울이 아닌 값을 부울 값으로 변환할 수 있습니다. -

으아악

위 구문에서 첫 번째 not(!) 연산자는 문자열 유형의 non_bool 변수를 부울 변수로 강제 변환합니다. 두 번째 not(!) 연산자는 non_bool 변수의 실제 부울 값을 가져오는 데 사용됩니다.

다음은 이중 NOT 연산자를 사용하는 몇 가지 예입니다. -

으아악

위의 예에서 부울이 아닌 값 0은 이중 NOT 연산자를 사용하여 명시적으로 부울 값으로 강제 변환됩니다. 이중 NOT 연산자는 피연산자를 부울 값으로 변환한 다음 반전시키므로 !!0 표현식은 false로 평가되는 !(!false)와 동일합니다.

HTML과 JavaScript를 사용한 전체 예제를 살펴보겠습니다

이 예에서는 num1, num2 및 num3이라는 세 개의 숫자 변수를 만들었습니다. 또한 다양한 양수, 음수 및 0 값을 사용하여 숫자 변수를 초기화했습니다.

사용자는 출력에서 ​​숫자의 실제 부울 값을 관찰할 수 있습니다. 불리언 값 0은 자바스크립트에서 거짓 불리언 값 중 하나이기 때문에 거짓입니다.

으아악

명시적 형변환에는 Boolean() 생성자를 사용하세요

JavaScript에서 명시적 캐스트는 JavaScript 개발자가 변수를 한 데이터 유형에서 다른 데이터 유형으로 변환하는 것입니다. 여기서는 부울이 아닌 값을 부울 값으로 명시적으로 변환하는 방법을 배웁니다.

JavaScript의 "boolean" 생성자를 사용하면 모든 값을 부울로 변환할 수 있습니다.

문법

사용자는 다음 구문에 따라 JavaScript에서 부울이 아닌 값을 부울 값으로 강제 변환할 수 있습니다.

으아악

위 구문에서 var1은 숫자 데이터 유형이며 부울 생성자를 사용하여 부울 값으로 변환합니다.

다음은 Boolean() 생성자를 사용하는 몇 가지 예입니다. -

으아악

위의 예에서 부울이 아닌 값 0은 부울 함수를 사용하여 명시적으로 부울 값으로 강제 변환됩니다. 부울 함수는 해당 인수의 부울 값을 반환하므로 Boolean(0) 표현식은 false를 반환합니다.

6개의 false 값을 제외하고 부울이 아닌 값을 부울 값으로 변환하면 항상 참 결과가 제공됩니다. 6개의 오류 값에 대해 우리는 항상 잘못된 부울 값을 결과로 얻습니다.

6개의 가짜 부울 값이 아래에 나와 있습니다.

  • 오류

  • ""

  • NaN

  • 0

  • 비어있음

  • 정의되지 않음

이 예에서는 다양한 변수를 생성하고 다양한 false 값으로 초기화했습니다. 우리가 그것들을 부울로 강제할 때 항상 잘못된 부울 값을 제공한다는 것을 관찰할 수 있습니다.

으아악

암시적 강제

암시적 캐스트는 부울 값이 예상되는 컨텍스트에서 부울이 아닌 값이 사용될 때 발생합니다. 이 경우 JavaScript는 "True" 및 "False"라는 규칙 집합을 사용하여 값을 부울로 자동 변환합니다.

다음은 부울이 아닌 값을 부울 값으로 변환하는 방법에 대한 몇 가지 예입니다. -

이 예에서는 JavaScript에서 이미지의 숨겨진 속성을 사용하여 클릭 시 이미지를 표시합니다. -

으아악

첫 번째 예에서 값 0은 조건문에 사용되며 true 및 false 값에 대한 규칙을 사용하여 암시적으로 부울 값으로 강제 변환됩니다. JavaScript에서는 값 0이 false로 간주되어 조건문이 실행되지 않습니다.

두 번째 예에서는 논리 NOT 연산자를 사용하여 0이 아닌 부울 값을 부정합니다. 논리 NOT 연산자는 피연산자의 부울 값을 반전하므로 표현식 !0은 true로 평가되는 !false와 동일합니다.

JavaScript에는 두 가지 유형의 캐스트가 있습니다. 하나는 묵시적 강제이고, 다른 하나는 명시적 강제이다. 이 튜토리얼에서는 두 가지 유형의 캐스트에 대해 하나씩 배웠습니다.

위 내용은 JavaScript에서 부울이 아닌 부울 강제 변환을 설명하시겠습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제