How to perform forced type conversion in javascript
Force conversion method: 1. Use ToString(), ToNumber() or ToBoolean() method; 2. Use String(), Number() or Boolean() method; 3. Use " " or "- "operator; 4. Use statements such as "if()" and "while()".
The operating environment of this tutorial: windows7 system, javascript version 1.8.5, Dell G3 computer.
1. Type conversion rules
1.ToString
For ordinary objects, Unless you define the toString method yourself, the Object.prototype.toString() method will be called. If the object has its own toString method, stringification will call the method and use its return value.
2.ToNumber
- For basic types, true is converted to 1 and false is converted to 0; undefined is converted to NaN, null is converted to 0.
- The object type will first be converted into a basic type value. If a non-numeric basic type value is returned, it will then be forced to be converted into a number according to the basic type conversion rules. In order to convert a value to the corresponding primitive type value, The abstract operation ToPrimitive first checks whether the value has a valueOf() method. If there is and returns a basic type value, then use this value for cast. If not, use the return value of toString() (if it exists) to perform the cast. If neither valueOf() nor toString() returns a basic type value, a TypeError will be generated.
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
Values in JavaScript can be divided into values that can be forced to false and values that can be forced Converts two types of values to true.
False value:
- undefined
- null
- false
- 0, -0, NaN
- ""
True value: Except for the above list, all objects can be understood as true values, and all objects are true values
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
2. Display forced type conversion
1. Display conversion between strings and numbers
Strings and numbers The conversion is through the two built-in functions String(..) and Number(..).
In addition to String(..) and Number(..), there are other methods to achieve explicit conversion between strings and numbers:
let a = 42; let b = a.toString(); let c = "3.14"; let d = +c; b; // "42" d; // 3.14
a.toString() is explicit , but there is an implicit conversion involved. Because toString() doesn't work with primitive values like 42, the JavaScript engine automatically creates a wrapper object for 42 and then calls toString() on that object. This explicit conversion contains implicit conversion.
2. Display conversion to Boolean value
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
Although Boolean(..) is explicit, it is not commonly used . The most common way to explicitly cast a type to a Boolean value is!!
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
[Recommended learning: javascript advanced tutorial]
3. Implicit cast conversion
1. Implicit cast conversion between strings and numbers
( 1) The operator
can be used for both numerical addition and string concatenation
if one of the operands is a string (or If a string is obtained by calling the ToPrimitive abstract operation on it), string concatenation is performed; otherwise, numeric addition is performed. Because the array's valueOf() operation cannot get a simple primitive value, it calls toString() instead. So the two arrays in the example below become "1,2" and "3,4". Concatenating them returns "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"
You can use operators for string conversion, compare numbers with the empty string "" to convert them into strings
let a = 42; let b = a + ""; b; // "42"
a ""(implicit) and the preceding String There is a subtle difference to note between (a)(explicit).
According to the ToPrimitive abstract operation rules, a "" will call the valueOf() method on a, and then convert the return value into a string through the ToString abstract operation. String(a) calls ToString() directly. They finally return strings, but if a is an object rather than a number, the result may be different
let a = { valueOf: function() { return 42; }, toString: function() { return 4; } }; a + ""; // "42" String( a ); // "4"
(2) Case of cast from string to number
-Yes Numeric subtraction operator, so a - 0 will cast a to a number. You can also use a * 1 and a /1, because these two operators only apply to numbers, but such usage is less common
let a = [3]; let b = [1]; a - b; // 2
2. Implicit mandatory type Convert to Boolean value
Implicit cast conversion of Boolean value will occur in the following situations:
(1) Conditional judgment expression in if (..) statement .
(2) The conditional expression (second) in the for ( .. ; .. ; .. ) statement.
(3) Conditional expressions in while (..) and do..while(..) loops.
(4) ? :Conditional judgment expression in .
(5) The operand on the left side of logical operators || (logical OR) and && (logical AND) (as a conditional expression).
In the above case, non-Boolean values will be implicitly cast to Boolean values, following the ToBoolean abstract operation rules introduced earlier.
For more programming-related knowledge, please visit: Introduction to Programming! !
The above is the detailed content of How to perform forced type conversion in javascript. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



How to use WebSocket and JavaScript to implement an online speech recognition system Introduction: With the continuous development of technology, speech recognition technology has become an important part of the field of artificial intelligence. The online speech recognition system based on WebSocket and JavaScript has the characteristics of low latency, real-time and cross-platform, and has become a widely used solution. This article will introduce how to use WebSocket and JavaScript to implement an online speech recognition system.

WebSocket and JavaScript: Key technologies for realizing real-time monitoring systems Introduction: With the rapid development of Internet technology, real-time monitoring systems have been widely used in various fields. One of the key technologies to achieve real-time monitoring is the combination of WebSocket and JavaScript. This article will introduce the application of WebSocket and JavaScript in real-time monitoring systems, give code examples, and explain their implementation principles in detail. 1. WebSocket technology

Introduction to how to use JavaScript and WebSocket to implement a real-time online ordering system: With the popularity of the Internet and the advancement of technology, more and more restaurants have begun to provide online ordering services. In order to implement a real-time online ordering system, we can use JavaScript and WebSocket technology. WebSocket is a full-duplex communication protocol based on the TCP protocol, which can realize real-time two-way communication between the client and the server. In the real-time online ordering system, when the user selects dishes and places an order

How to use WebSocket and JavaScript to implement an online reservation system. In today's digital era, more and more businesses and services need to provide online reservation functions. It is crucial to implement an efficient and real-time online reservation system. This article will introduce how to use WebSocket and JavaScript to implement an online reservation system, and provide specific code examples. 1. What is WebSocket? WebSocket is a full-duplex method on a single TCP connection.

In-function type conversion allows data of one type to be converted to another type, thereby extending the functionality of the function. Use syntax: type_name:=variable.(type). For example, you can use the strconv.Atoi function to convert a string to a number and handle errors if the conversion fails.

JavaScript and WebSocket: Building an efficient real-time weather forecast system Introduction: Today, the accuracy of weather forecasts is of great significance to daily life and decision-making. As technology develops, we can provide more accurate and reliable weather forecasts by obtaining weather data in real time. In this article, we will learn how to use JavaScript and WebSocket technology to build an efficient real-time weather forecast system. This article will demonstrate the implementation process through specific code examples. We

JavaScript tutorial: How to get HTTP status code, specific code examples are required. Preface: In web development, data interaction with the server is often involved. When communicating with the server, we often need to obtain the returned HTTP status code to determine whether the operation is successful, and perform corresponding processing based on different status codes. This article will teach you how to use JavaScript to obtain HTTP status codes and provide some practical code examples. Using XMLHttpRequest

Explore the different types of implicit type conversions and their role in programming Introduction: In programming, we often need to deal with different types of data. Sometimes, we need to convert one data type to another type in order to perform a specific operation or meet specific requirements. In this process, implicit type conversion is a very important concept. Implicit type conversion refers to the process in which the programming language automatically performs data type conversion without explicitly specifying the conversion type. This article will explore the different types of implicit type conversions and their role in programming,
