search
HomeWeb Front-endJS TutorialUnderstanding data type conversion in JavaScript
Understanding data type conversion in JavaScriptOct 19, 2020 pm 05:50 PM
javascriptData type conversion

Understanding data type conversion in JavaScript

In JavaScript, data types are used to classify a specific type of data, determining the values ​​that can be assigned to that type and the operations that can be performed on it.

While JavaScript automatically converts many values ​​due to type coercion, to achieve the desired results it is often best to manually convert values ​​between types.

This tutorial will guide you in converting JavaScript's basic data types, including numbers, strings, and Boolean values.

Implicit conversion

As a programming language, JavaScript has a high tolerance for unexpected values. Therefore, JavaScript will try to convert unexpected values ​​instead of rejecting them outright. This implicit conversion is called type coercion.

Some methods automatically convert values ​​in order to use them. The alert() method accepts a string as parameter, but it will automatically convert other types to string. Therefore, we can pass a numeric value to the method:

alert(8.5);

If we run the above line of code, the browser will return a pop-up warning dialog box showing the 8.5 value, but it will be converted to a string .

When working with strings that can be evaluated as numbers via mathematical operators, you will find that JavaScript is able to handle these values ​​by implicitly converting the string to a number, as shown in the example below.

// Subtraction
"15" - "10";

Output: 5

// Modulo
"15" % "10";

Output: 5

However, not every operator works as expected. There are obvious problems with the operator since it can represent addition or string concatenation.

// When working with strings, + stands for concatenation
"2" + "3";

Output: "23"

Since the operator is multipurpose, the string values ​​2 and 3 are concatenated into the string value 23, despite being numeric strings, rather than adding together to become the number 5.

Because ambiguities can exist and sometimes lead to unexpected results, it is usually best to explicitly convert as many data types as possible in your code. This will help manage input from users and handle errors.

Convert a value to a string

You can explicitly convert a value to a string by calling String() or N.ToString().

Using the String() function, let us convert a Boolean value to a string by passing the value true to the parameter of String().

String(true);

When we do this, the string literal "true" will be returned.

Output: "true"

Alternatively, we can pass a number to the function.

String(49);

will return the string literal of the number.

Output: "49"

Let us use the String() function with a variable. We will assign a numeric value to the variable odyssey and then use the typeof operator to check the type.

let odyssey = 2001;
console.log(typeof odyssey);

Output: number

At this time, the variable odyssey is assigned the value of 2001, and we have confirmed that it is a number.

Now, let's reassign odyssey to its string equivalent and then use typeof to confirm that we have successfully converted the variable's value from a number to a string.

odyssey = String(odyssey); // "2001"
console.log(typeof odyssey);

Output: string

In the above example, we have confirmed that odyssey is reassigned to a string value after data type conversion.

We can use n.toString() in a similar way. We can replace n with a variable:

let blows = 400;
blows.toString();

The variable blow will be returned as a string.

Output: "400"

Alternatively, we can put the value inside parentheses instead of n.toString() variable:

(1776).toString(); // returns "1776"
(false).toString(); // returns "false"
(100 + 200).toString(); // returns "300"

Pass Using String() or n.toString(), we are able to explicitly convert a Boolean or numeric data type value to a String value to ensure that the code behaves as we expect.

Convert value to number

When converting value to numeric data type, we will use number() method. First, we'll convert a numeric text string to a number, but we can also convert Boolean values.

We can pass a number string to the number() method:

Number("1984");

The string will be converted to a number and will no longer be enclosed in quotes .

Output: 1984

We can also assign a string to a variable and then convert it.

let dalmatians = "101";
Number(dalmatians);

Output: 101

The string literal "101" is converted to the number 101 via its variables.

Blank strings or empty strings will be converted to 0.

Number(" "); // returns 0
Number(""); // returns 0

Note that non-numeric strings will be converted to NaN, which means non-numeric. This includes numbers separated by spaces.

Number("twelve"); // returns NaN
Number("20,000"); // returns NaN
Number("2 3"); // returns NaN
Number("11-11-11"); // returns NaN

For Boolean data type, the value of false is 0 and the value of true is 1.

Number(false); // returns 0
Number(true); // returns 1

The function of the method is to convert non-numeric data types into numbers.

Convert a value to a Boolean value

To convert a number or string to a Boolean value, you can use the Boolean() method. This is useful for determining whether the user entered data into a text field, for example.

Any value that is interpreted as null, such as the number 0, the empty string or undefined value, NaN, or null, is converted to false.

Boolean(0); // returns false
Boolean(""); // returns false
Boolean(undefined); // returns false
Boolean(NaN); // returns false
Boolean(null); // returns false

Other values ​​will be converted to true, including string literals consisting of spaces.

Boolean(2000); // returns true
Boolean(" "); // returns true
Boolean("Maniacs"); // returns true

Note that "0" as a string literal will convert to true since it is a non-empty string value:

Boolean("0");   // returns true

将数字和字符串转换为布尔值可以允许我们在二进制术语中计算数据,并且可以用于程序中的控制流。

相关免费学习推荐:js视频教程

The above is the detailed content of Understanding data type conversion in JavaScript. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:DIGITALOCEAN. If there is any infringement, please contact admin@php.cn delete
es6数组怎么去掉重复并且重新排序es6数组怎么去掉重复并且重新排序May 05, 2022 pm 07:08 PM

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

JavaScript的Symbol类型、隐藏属性及全局注册表详解JavaScript的Symbol类型、隐藏属性及全局注册表详解Jun 02, 2022 am 11:50 AM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

原来利用纯CSS也能实现文字轮播与图片轮播!原来利用纯CSS也能实现文字轮播与图片轮播!Jun 10, 2022 pm 01:00 PM

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

JavaScript对象的构造函数和new操作符(实例详解)JavaScript对象的构造函数和new操作符(实例详解)May 10, 2022 pm 06:16 PM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

javascript怎么移除元素点击事件javascript怎么移除元素点击事件Apr 11, 2022 pm 04:51 PM

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

JavaScript面向对象详细解析之属性描述符JavaScript面向对象详细解析之属性描述符May 27, 2022 pm 05:29 PM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

foreach是es6里的吗foreach是es6里的吗May 05, 2022 pm 05:59 PM

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。

整理总结JavaScript常见的BOM操作整理总结JavaScript常见的BOM操作Jun 01, 2022 am 11:43 AM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.