Home > Article > Web Front-end > Why JavaScript is considered a loosely typed language
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 -
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.
enter
"4" + "5"
Output
"45"
In this example, the operator represents string concatenation.
But "5"-"3" gives output 2 by using implicit conversion.
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>
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)
let myNumber = 1245; let myString = String(myNumber);
The above code will give the following output -
now myNumber contains "1245"
The syntax of toString() function is as follows -
variableName.toString(base)
let myNumber = 1245; let myString = toString(myNumber);
The above code will give the following output -
now myNumber contains "1245"
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>
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)
let myString = "567"; let myNumber = Number(myString);
The above code will give the following output -
now myNumber contain 567(Number)
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>
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>
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!