Home > Article > Web Front-end > JavaScript novice tutorial type conversion
With the development of front-end technology, JavaScript has become the language of choice for more and more developers. In JavaScript, type conversion is a very important resource. When you want to convert a value from one type to another, it becomes very important to understand the type conversion mechanism in JavaScript. In this article, we will take an in-depth look at type conversion in JavaScript.
Basic data types
In JavaScript, there are seven basic data types, namely number, string, boolean, undefined, null, bigint and symbol. Some data types can be converted to boolean true or false. If the value can be converted to true, it is called "truthy", if the value can be converted to false, it is called "falsy".
If we convert a number to boolean type, any non-0 number will be considered true and 0 will be considered false.
For example:
console.log(Boolean(3)); //true console.log(Boolean(-1)); //true console.log(Boolean(0)); //false
Strings can also be converted to Boolean types. Any non-empty string will be treated as true, and an empty string will be treated as false.
For example:
console.log(Boolean("hello")); //true console.log(Boolean(" ")); //true console.log(Boolean("")); //false
Both Undefined and null can be converted to false.
console.log(Boolean(undefined)); //false console.log(Boolean(null)); //false
Conversion between numeric types and string types
Now let’s take a deeper look at the type conversion between numeric types and string types in JavaScript. We can convert string to number type using Number() function.
For example:
console.log(Number("3")); //3 console.log(Number("3.14")); //3.14 console.log(Number("-19.2")); //-19.2 console.log(Number("123e5")); //12300000
We can use the String() function to convert numbers to string type.
For example:
console.log(String(3)); //"3" console.log(String(3.14)); //"3.14" console.log(String(-2.1)); //"-2.1"
But when using numbers and strings for arithmetic operations, the work of type conversion becomes a little more complicated. If we add numbers and strings, the strings are automatically converted to numbers.
For example:
console.log(1 + "2"); //"12" console.log(2 + "3" + 4); //"234" console.log(5 * "2"); //10 console.log(4 / "2"); //2
When we perform more complex operations on numbers and strings, we need to use the parseInt() and parseFloat() functions. These functions convert strings to numeric types, but these functions have different limitations. The parseInt() function converts a string to an integer. The parseFloat() function converts a string to a floating point number.
For example:
console.log(parseInt("3.14")); //3 console.log(parseFloat("3.14")); //3.14 console.log(parseInt("45 years old")); //45
Notes on type conversion
When performing type conversion, we need to pay attention to consistency with the real-world situation to avoid unnecessary errors. Here are some additional details to note when doing type conversions.
First of all, NaN (Not a Number) indicates an invalid value. When we try to convert an invalid string to a number, the result will be NaN.
For example:
console.log(Number("hello")); //NaN
Also, if we convert the string to a number, if the string cannot be converted to a number, the result will be NaN.
For example:
console.log(Number("555-1212")); //NaN
Also note that when converting an object to a numeric type, we need to consider the object's valueOf() method or toString() method.
For example:
let myObject = { valueOf: function() {return -10;} } console.log(Number(myObject)); //-10
Summary
In JavaScript, type conversion is a very important skill. By deeply understanding and exploring the type conversion mechanism in JavaScript, you can better understand JavaScript code and avoid unnecessary errors. In practice, we should take care to be consistent with real-world situations to avoid writing unstable code.
The above is the detailed content of JavaScript novice tutorial type conversion. For more information, please follow other related articles on the PHP Chinese website!