일반적인 JavaScript 유형 변환과 예상치 못한 출력
JavaScript 유형 변환은 초보자에게 혼란스러울 수 있습니다. JavaScript는 특정 작업 중에 서로 다른 데이터 유형 간에 자동으로 변환하므로 예상치 못한 결과가 발생할 수 있습니다. 깔끔하고 버그 없는 코드를 작성하려면 유형 변환이 어떻게 작동하는지 이해하는 것이 필수적입니다. 이 가이드는 JavaScript의 다양한 유형 변환을 안내하고, 개념을 설명하고, 예상할 수 있는 출력을 보여줍니다.
전환에 대해 알아보기 전에 먼저 JavaScript가 데이터 유형을 식별하는 방법을 이해해 보겠습니다. JavaScript는 typeof를 사용하여 변수나 값의 유형을 반환합니다.
console.log(typeof null); // "object" console.log(typeof undefined); // "undefined"
설명:
JavaScript는 값을 숫자 유형으로 변환하는 Number() 함수를 제공합니다. 몇 가지 사례를 살펴보겠습니다.
let score = "33"; // Type: string let valueInNum = Number(score); console.log(typeof score); // "string" console.log(typeof valueInNum); // "number" console.log(valueInNum); // 33
설명:
let scoreStr = "33abc"; // Type: string let valueInNum1 = Number(scoreStr); console.log(typeof valueInNum1); // "number" console.log(valueInNum1); // NaN
설명:
JavaScript의 null 값은 숫자로 변환될 수도 있습니다. 일어나는 일은 다음과 같습니다.
let scoreNull = null; let valueInNull = Number(scoreNull); console.log(typeof valueInNull); // "number" console.log(valueInNull); // 0
설명:
JavaScript에서는 다양한 값을 부울 값으로 변환하여 true 또는 false를 출력할 수 있습니다. 이는 조건문에 특히 유용합니다.
let isLoggedIn = 1; let boolInNum = Boolean(isLoggedIn); console.log(boolInNum); // true
설명:
다음은 참 값과 거짓 값의 추가 예입니다.
console.log(typeof null); // "object" console.log(typeof undefined); // "undefined"
설명:
JavaScript는 필요에 따라 유형 간의 값을 변경하기 위해 강제 변환을 사용합니다. 일반적인 전환에 대한 간략한 요약은 다음과 같습니다.
Value | Conversion Function | Resulting Type | Example Output |
---|---|---|---|
"33" | Number("33") | number | 33 |
"33abc" | Number("33abc") | number | NaN |
null | Number(null) | number | 0 |
1 | Boolean(1) | boolean | true |
0 | Boolean(0) | boolean | false |
"" (empty) | Boolean("") | boolean | false |
"hello" | Boolean("hello") | boolean | true |
Q: null 유형이 "객체"를 반환하는 이유는 무엇입니까?
A: 이것은 JavaScript의 오래된 버그입니다. 처음에 null은 자리 표시자 객체로 의도되었지만 이전 코드와의 호환성을 위해 이 분류를 유지했습니다.
Q: JavaScript에서 거짓으로 간주되는 값은 무엇입니까?
A: 0, ""(빈 문자열), null, 정의되지 않음 및 NaN은 JavaScript에서 거짓 값입니다. 즉, 부울로 변환하면 false로 평가됩니다.
Q: JavaScript에서 NaN은 무엇을 의미하나요?
A: NaN은 "Not-a-Number"를 의미하며 "33abc"를 숫자로 변환하려는 시도와 같은 잘못된 숫자 연산으로 인해 발생합니다.
변수 작업과 데이터 조작을 수행하려면 JavaScript의 유형 변환을 이해하는 것이 필수적입니다. typeof와 Number() 및 Boolean()과 같은 변환 함수의 효과에 익숙해지면 버그를 방지하고 보다 안정적인 코드를 작성할 수 있습니다. 다양한 예를 통해 이러한 개념을 계속 연습하면 곧 JavaScript 프로그래밍 여정에서 제2의 천성이 될 것입니다.
위 내용은 일반적인 JavaScript 유형 변환 실수 및 해결 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!