강제 방법: 1. ToString(), ToNumber() 또는 ToBoolean() 방법을 사용합니다. 2. String(), Number() 또는 Boolean() 방법을 사용합니다. 3. "+" 또는 "-" 연산자를 사용합니다. . "if()" 및 "while()"과 같은 문을 사용합니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.
1.ToString
일반 객체의 경우 toString 메서드를 직접 정의하지 않으면 Object.prototype.toString() 메서드가 호출됩니다. 자신만의 toString 메서드가 있으면 문자열화는 이 메서드를 호출하고 해당 반환 값을 사용합니다.
2.ToNumber
let a = { valueOf:function(){ return "42"; } }; let b = { toString:function(){ return "42"; } }; let c = [4,2]; c.toString = function(){ return this.join(""); //"42" }; Number(a); //42 Number(b); //42 Number(c); //42 Number(''); //0 Number([]); //0 Number(["abc"];//NaN
3.ToBoolean
JavaScript의 값은 두 가지 범주로 나눌 수 있습니다. 강제로 false로 설정될 수 있는 값과 강제로 true로 설정될 수 있는 값입니다.
False 값:
True 값:위 목록을 제외한 모든 항목은 True 값으로 이해될 수 있습니다. . 객체는 모두 참 값입니다
let a1 = new Boolean( false ); let b1 = new Number( 0 ); let c1 = new String( "" ); let d1 = Boolean(a1 && b1 && c1); //true let a2 = []; let b2 = {}; let c2 = function(){}; let d2 = Boolean(a2 && b2 && c2); //true
1. 문자열과 숫자 간의 변환 표시
문자열과 숫자 간의 변환은String(.. )을 통해 이루어집니다. Number(..) 두 가지 내장 함수가 있습니다. String(..) 및 Number(..) 외에도 문자열과 숫자 사이의 명시적 변환을 달성하는 다른 방법이 있습니다.
let a = 42; let b = a.toString(); let c = "3.14"; let d = +c; b; // "42" d; // 3.14
2. 명시적 부울 변환
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
javascript 고급 튜토리얼]
1. 문자열과 숫자 사이의 암시적 캐스트 변환
(1) + 연산자
는 숫자 추가와 문자열 연결 모두에 사용할 수 있습니다.
+의 피연산자 중 하나가 문자열인 경우(또는 이에 대해 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"
let a = { valueOf: function() { return 42; }, toString: function() { return 4; } }; a + ""; // "42" String( a ); // "4"
let a = [3]; let b = [1]; a - b; // 2
2. 부울 값으로의 암시적 캐스트
부울 값의 암시적 캐스트 변환 다음 상황에서 발생합니다: (1) if (..) 문의 조건식. (2) for( .. ; .. ; .. ) 문의 조건식(두 번째)입니다. (3) while(..) 및 do..while(..) 루프의 조건식. (4) ? :조건부 판단 표현.(5) 논리 연산자 ||(논리 OR) 및 &&(논리 AND)(조건식)의 왼쪽에 있는 피연산자.
위의 경우 앞서 소개한 ToBoolean 추상 연산 규칙에 따라 부울이 아닌 값이 암시적으로 부울 값으로 변환됩니다.
더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 소개를 방문하세요! !
위 내용은 자바스크립트에서 강제 유형 변환을 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!