카테고리 없음
어떻게 자바스크립트에서 문자열을 부울 값으로 변환할 수 있을까요?
스택큐힙리스트
2023. 12. 29. 03:56
반응형
자바스크립트에서 논리값을 나타내는 문자열 (예: 'true', 'false')을 내재된 유형으로 변환할 수 있을까요?
HTML에는 사용자의 목록 선택에 따라 업데이트되는 숨겨진 양식이 있습니다. 이 양식에는 내재된 논리값을 나타내는 몇 가지 필드가 포함되어 있으며, 동적으로 내재된 논리값으로 채워집니다. 그러나 이 값이 숨겨진 입력 필드에 배치된 후에는 문자열이 됩니다.
문자열로 변환된 필드의 논리값을 확인하는 유일한 방법은, 문자열 표현의 리터럴 값에 의존하는 것이었습니다.
var myValue = document.myForm.IS_TRUE.value;
var isTrueSet = myValue == 'true';
이를 수행하는 더 나은 방법이 있을까요?
답변 1
Do:
변수 isTrueSet은 'true'와 동일한 문자열 타입(myValue === 'true')을 비교할 때, 암묵적인 타입 변환이 없는 일치 연산자(===)를 사용하여 설정됩니다.이렇게 하면 문자열이 true인 경우 isTrueSet은 논리값 true로 설정되며, false인 경우나 설정되지 않은 경우 논리값 false로 설정됩니다.
대소문자를 구분하지 않으려면 다음을 시도해 보세요:
var isTrueSet = /^true$/i.test(myValue);
// 또는
var isTrueSet = (myValue?.toLowerCase?.() === 'true');
// 또는
var isTrueSet = (String(myValue).toLowerCase() === 'true');
Don't:
false문자열을 주의해서 사용하는 것이 좋습니다:
var myBool = Boolean(false); // == true
var myBool = !!false; // == true
빈 문자열이 아닌 모든 문자열은 사용하여 true을 평가합니다. 불리언 변환과 관련하여 생각할 수 있는 가장 깔끔한 방법입니다. 그러나, 당신이 찾고 있는 것은 아닌 것 같습니다.
답변 2
문자열을 부울 값으로 변환하는 방법은 자바스크립트에서 매우 간단합니다. 우리는 보통 문자열을 부울 값으로 변환해야 할 때, 전역 함수인 `Boolean()`을 사용합니다. 이 함수는 주어진 매개변수를 부울 값으로 변환해 줍니다. 이 함수는 다음과 같은 규칙을 따릅니다:1. 빈 문자열 (`` 또는 `''`)은 `false`로 변환됩니다.
2. 비어 있지 않은 모든 문자열은 `true`로 변환됩니다.
3. 숫자 `0`은 `false`로 변환됩니다.
4. 모든 다른 숫자는 `true`로 변환됩니다.
5. `null`, `undefined` 및 `NaN`은 `false`로 변환됩니다.
6. `false`라는 문자열은 `true`로 변환됩니다.
7. `true`라는 문자열은 `true`로 변환됩니다.
예를 들어, 다음 코드는 문자열을 부울 값으로 변환하는 방법을 보여 줍니다:
```javascript
var str = true;
var boolValue = Boolean(str);
console.log(boolValue); // 출력: true
console.log(typeof boolValue); // 출력: boolean
```
위 코드에서는 `Boolean()` 함수를 사용하여 `true`라는 문자열을 부울 값으로 변환했습니다. 결과는 `true`로 평가되며 `boolValue` 변수에 할당됩니다. 그리고 부울 값인지 확인하기 위해 `typeof` 연산자를 사용했습니다. `boolean`이라는 결과가 출력됩니다.
앞서 설명한 방법을 사용하여 언제든지 문자열을 부울 값으로 변환할 수 있습니다. 이것은 자바스크립트에서 유용하게 사용되는 기능 중 하나입니다.
반응형