Table of Contents
Basic example
Example 4
Conversion of value to string
Output
Change value to number
Home Web Front-end JS Tutorial Why JavaScript is considered a loosely typed language

Why JavaScript is considered a loosely typed language

Sep 05, 2023 am 10:09 AM

为什么 JavaScript 被认为是松散类型语言

Since JavaScript is a loosely typed language, you don't need to correctly predict data types This will be saved in a variable. Depending on the information you provide to the variable (e.g. this ‘‘ or "" for a string value), JavaScript will automatically type it. The type of the variable, such as int, float, boolean, or String must be declared in many other languages, including Java.

This has both good and bad effects. Although the type system in JavaScript allows many Free, it lacks the power of a highly typed system that will yell at you every time you try to add an int to an object, saving you from spending hours debugging type errors.

JavaScript types are temporary. The function does not need to accept integers as arguments, nor does it need Need to make it clear that a string is a string? JavaScript now has a lot of versatility.

In exchange for more security and trust in the code base, you have to give up part of it The flexibility that comes with loosely typed languages.

Although the operator usually converts the value to the appropriate type according to JavaScript Loosely coupled type system, in some cases we have to perform type conversions direct.

Although there are many ways to convert data between different types in JavaScript, there are two Most commonly done things -

  • Convert value to string
  • Convert value to number

Implicit conversion - There are many JavaScript operators and functions that can automatically Convert the value to the appropriate type, such as the alert() function, which accepts any value and converts to a string. However, some operators, such as the " " operator, can cause problems.

Basic example

enter

"4" + "5"
Copy after login

Output

"45"
Copy after login

In this example, the operator represents string concatenation.

But "5"-"3" gives output 2 by using implicit conversion.

Example 1

The following script explains how JavaScript performs implicit type conversions.

<!DOCTYPE html>
<html>
<title>Why is JavaScript considered a loosely-typed language - TutorialsPoint</title>
<head>
   <meta charset="UTF-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body style="text-align:center">
   <script>
      document.write('("5" - "3") = ' + ("5" - "3") + "<br>");
      document.write('("5" - 3) = ' + ("5" - 3) + "<br>");
      document.write('("5" * "2") = ' + ("5" * "2") + "<br>");
      document.write('("5" % "2") = ' + ("5" % "2") + "<br>");
      document.write('("5" + null) = ' + ("5" + null) + "<br>");
   </script>
</body>
</html>
Copy after login

Conversion of value to string

You can use the toString() or string() function to convert a value in JavaScript to a string.

The syntax of the String() function is as follows -

String(value)
Copy after login

Example

let myNumber = 1245;
let myString = String(myNumber);
Copy after login

Output

The above code will give the following output -

now myNumber contains "1245"
Copy after login
Copy after login

The syntax of toString() function is as follows -

variableName.toString(base)
Copy after login

Example

let myNumber = 1245;
let myString = toString(myNumber);
Copy after login

Output

The above code will give the following output -

now myNumber contains "1245"
Copy after login
Copy after login

Example 2

Numbers, Boolean values, and dates will all be converted to strings using the code below.

<!DOCTYPE html>
<html>
<title>Why is JavaScript considered a loosely-typed language - TutorialsPoint</title>
<head>
   <meta charset="UTF-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body style="text-align:center">
   <script>
      
      // The variables myNumber and myDay have been
      // given the values number and date, respectively.
      let myNumber = 155;
      let myDay = new Date('2022-10-31T06:30:00');
      
      // Number to string conversion
      document.write(" String(myNumber) = " + String(myNumber) + "<br>");
      
      // number to string conversion
      document.write(" String(myNumber + 15) = " + String(myNumber + 15) + "<br>");
      document.write(" String( 20 + 20) = " + String(20 + 20) + "<br>");
      
      // from boolean value to string conversion
      document.write(" String(false) = " + String(false) + "<br>");
      
      // From Date to string conversion
      document.write(" String(myDay) = " + String(myDay) + "<br>");
   </script>
</body>
</html>
Copy after login

Change value to number

You can use JavaScript's Number() method to convert a value to a number. it has the ability Convert any numeric literal and boolean value to a number. When processing strings non-number, it will turn them into NaN (not a number).

grammar

Number(valueToConvert)
Copy after login

Example

let myString = "567";
let myNumber = Number(myString);
Copy after login

Output

The above code will give the following output -

now myNumber contain 567(Number)
Copy after login

Example 3

Use the code below to convert numeric literals, dates and booleans all to numbers.

<!DOCTYPE html>
<html>
<title>Why is JavaScript considered a loosely-typed language - TutorialsPoint</title>
<head>
   <meta charset="UTF-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body style="text-align:center">
   <script>
      
      // Variables myNumber and myDay, respectively,
      // have been given the values number and date.
      let myNumber = "567";
      let myDay = new Date('2022-10-31T06:30:00');
      
      // string to number conversion
      document.write(" Number(myNumber) = " + Number(myNumber) + "<br>");
      
      //A boolean value is converted to a number.
      document.write(" Number(false) = " + Number(false) + "<br>");
      document.write(" Number(true) = " + Number(true) + "<br>");
      
      // Change from date to number
      document.write(" Number(myDay) = " + Number(myDay) + "<br>");
   </script>
</body>
</html>
Copy after login

Example 4

If the string is not a number, it is converted to NaN, and an empty or blank string is converted to NaN to 0.

<!DOCTYPE html>
<html>
<title>Why is JavaScript considered a loosely-typed language - TutorialsPoint</title>
<head>
   <meta charset="UTF-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body style="text-align:center">
   <script>
      
      // Empty string assigned
      let emptyStr = "";
      
      // White space assigned
      let whiteSpc = " ";
      
      // Non-number string assigned
      let nonStr = "Welcome to Tutorialspoint!";
      
      // Printing converted values of number
      document.write(" Number(emptyStr) = " + Number(emptyStr) + "<br>");
      document.write(" Number(whiteSpc) = " + Number(whiteSpc) + "<br>");
      document.write(" Number(nonStr) = " + Number(nonStr) + "<br>");
   </script>
</body>
</html>
Copy after login

The above is the detailed content of Why JavaScript is considered a loosely typed language. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

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

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What should I do if I encounter garbled code printing for front-end thermal paper receipts? What should I do if I encounter garbled code printing for front-end thermal paper receipts? Apr 04, 2025 pm 02:42 PM

Frequently Asked Questions and Solutions for Front-end Thermal Paper Ticket Printing In Front-end Development, Ticket Printing is a common requirement. However, many developers are implementing...

Who gets paid more Python or JavaScript? Who gets paid more Python or JavaScript? Apr 04, 2025 am 12:09 AM

There is no absolute salary for Python and JavaScript developers, depending on skills and industry needs. 1. Python may be paid more in data science and machine learning. 2. JavaScript has great demand in front-end and full-stack development, and its salary is also considerable. 3. Influencing factors include experience, geographical location, company size and specific skills.

Demystifying JavaScript: What It Does and Why It Matters Demystifying JavaScript: What It Does and Why It Matters Apr 09, 2025 am 12:07 AM

JavaScript is the cornerstone of modern web development, and its main functions include event-driven programming, dynamic content generation and asynchronous programming. 1) Event-driven programming allows web pages to change dynamically according to user operations. 2) Dynamic content generation allows page content to be adjusted according to conditions. 3) Asynchronous programming ensures that the user interface is not blocked. JavaScript is widely used in web interaction, single-page application and server-side development, greatly improving the flexibility of user experience and cross-platform development.

How to merge array elements with the same ID into one object using JavaScript? How to merge array elements with the same ID into one object using JavaScript? Apr 04, 2025 pm 05:09 PM

How to merge array elements with the same ID into one object in JavaScript? When processing data, we often encounter the need to have the same ID...

How to achieve parallax scrolling and element animation effects, like Shiseido's official website?
or:
How can we achieve the animation effect accompanied by page scrolling like Shiseido's official website? How to achieve parallax scrolling and element animation effects, like Shiseido's official website? or: How can we achieve the animation effect accompanied by page scrolling like Shiseido's official website? Apr 04, 2025 pm 05:36 PM

Discussion on the realization of parallax scrolling and element animation effects in this article will explore how to achieve similar to Shiseido official website (https://www.shiseido.co.jp/sb/wonderland/)...

Is JavaScript hard to learn? Is JavaScript hard to learn? Apr 03, 2025 am 12:20 AM

Learning JavaScript is not difficult, but it is challenging. 1) Understand basic concepts such as variables, data types, functions, etc. 2) Master asynchronous programming and implement it through event loops. 3) Use DOM operations and Promise to handle asynchronous requests. 4) Avoid common mistakes and use debugging techniques. 5) Optimize performance and follow best practices.

How to implement panel drag and drop adjustment function similar to VSCode in front-end development? How to implement panel drag and drop adjustment function similar to VSCode in front-end development? Apr 04, 2025 pm 02:06 PM

Explore the implementation of panel drag and drop adjustment function similar to VSCode in the front-end. In front-end development, how to implement VSCode similar to VSCode...

The difference in console.log output result: Why are the two calls different? The difference in console.log output result: Why are the two calls different? Apr 04, 2025 pm 05:12 PM

In-depth discussion of the root causes of the difference in console.log output. This article will analyze the differences in the output results of console.log function in a piece of code and explain the reasons behind it. �...

See all articles