강제 변환 방법: 1. String(), Number() 또는 toString() 함수를 사용하여 문자열과 숫자 사이의 표시 유형을 변환합니다. 2. Boolean() 함수를 사용하여 값을 부울 값으로 변환합니다. . 사용 "+" 및 "-" 연산자는 문자열과 숫자 간의 암시적 유형 변환을 수행합니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.
문자열과 숫자 사이의 변환은 두 개의 내장 함수인 String(..) 및 Number(..)을 통해 이루어집니다.
String(..) 및 Number(..) 외에도 문자열과 숫자 사이의 명시적 변환을 달성하는 다른 방법이 있습니다.
let a = 42; let b = a.toString(); let c = "3.14"; let d = +c; b; // "42" d; // 3.14
a.toString()은 명시적이지만 암시적 변환을 포함합니다. toString()은 42와 같은 기본 값에서는 작동하지 않기 때문에 JavaScript 엔진은 자동으로 42에 대한 래퍼 객체를 생성한 다음 해당 객체에 대해 toString()을 호출합니다. 이 명시적 변환에는 암시적 변환이 포함되어 있습니다.
let a = "0"; let b = []; let c = {}; let d = ""; let e = 0; let f = null; let g; Boolean( a ); // true Boolean( b ); // true Boolean( c ); // true Boolean( d ); // false Boolean( e ); // false Boolean( f ); // false Boolean( g ); // false
부울(..)은 명시적이지만 일반적으로 사용되지는 않습니다. 불리언으로 명시적으로 형변환하는 가장 일반적인 방법은!!
let a = "0"; let b = []; let c = {}; let d = ""; let e = 0; let f = null; let g; !!a; // true !!b; // true !!c; // true !!d; // false !!e; // false !!f; // false !!g; // false
(1)+operator
이것이 바로 숫자 추가에 사용되며, 또한 사용할 수 있습니다. 문자열 연결의 경우
+의 피연산자 중 하나가 문자열(또는 ToPrimitive 추상 연산을 호출하여 문자열을 얻은 경우)이면 문자열 연결을 수행하고, 그렇지 않으면 숫자 추가를 수행합니다. 배열의 valueOf() 작업은 간단한 기본 값을 가져올 수 없기 때문에 대신 toString()을 호출합니다. 따라서 아래 예의 두 배열은 "1,2"와 "3,4"가 됩니다. + 이들을 연결하고 "1,23,4"를 반환합니다.
let a = "42"; let b = "0"; a + b; // "420" let c = 42; let d = 0; c + d; // 42 let x = [1,2]; let y = [3,4]; x + y; // "1,23,4"
문자열 변환에는 + 연산자를 사용할 수 있으며, + 숫자와 빈 문자열 ""을 사용하여 문자열
let a = 42; let b = a + ""; b; // "42"
a + ""(암시적) 및 이전 문자열(a )(명시적)로 변환할 수 있습니다. ) 주의할 점은 미묘한 차이가 있습니다.
ToPrimitive 추상 연산 규칙에 따라 + ""는 a에서 valueOf() 메서드를 호출한 다음 ToString 추상 연산을 통해 반환 값을 문자열로 변환합니다. String(a)는 ToString()을 직접 호출합니다. 최종적으로 문자열을 반환하지만 a가 숫자가 아닌 객체라면 결과가 다를 수 있습니다
let a = { valueOf: function() { return 42; }, toString: function() { return 4; } }; a + ""; // "42" String( a ); // "4"
(2) 문자열을 숫자로 캐스팅하는 경우
-숫자 빼기 연산자이므로 - 0은 숫자에 a를 캐스팅합니다. * 1 및 /1도 사용할 수 있습니다. 이 두 연산자는 숫자에만 적용되기 때문입니다. 그러나 이러한 사용은 덜 일반적입니다
let a = [3]; let b = [1]; a - b; // 2
[권장 학습: javascript 고급 튜토리얼]
위 내용은 자바스크립트에서 유형 강제를 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!