Home > Article > Web Front-end > Is javascript strongly typed or weakly typed?
Javascript is weakly typed. JavaScript is a language in which data types can be ignored, and a variable can be assigned values of different data types. JavaScript allows implicit conversion of variable types, forced type conversion, etc. For example, strings and values can be automatically converted; while strongly typed languages generally do not allow this.
The operating environment of this tutorial: windows7 system, javascript version 1.8.5, Dell G3 computer.
Language that forces data type definition. In other words, once a variable is assigned a certain data type, it will always be that data type if it is not cast. For example: if you define an integer variable a, then it is impossible for the program to treat a as a string type. A strongly typed definition language is a type-safe language.
A language in which data types can be ignored. It is the opposite of a strongly typed definition language, in which a variable can be assigned values of different data types.
Strongly typed definition languages may be slightly slower than weakly typed definition languages, but the rigor brought by strongly typed definition languages can effectively avoid many errors. In addition, there is absolutely no connection between "whether this language is a dynamic language" and "whether this language is type-safe"!
For example: Python is a dynamic language, a strongly typed definition language (a type-safe language); VBScript is a dynamic language, a weakly typed definition language (a type-unsafe language); JAVA is a static language, a strongly typed definition language (type-safe language).
For explanations of various language types, please refer to: http://blog.csdn.net/aiming66/article/details/78570784#t3
After understanding this, let’s talk about why JavaScript is weakly typed. language. After thinking about it, I felt that I would explain it through a piece of code. Maybe this is more straightforward.
<!DOCTYPE html> <html> <head> <title>js练习</title> <style type="text/css"> </style> <script type="text/javascript"> var num=0; alert(typeof num); num="123"; alert(typeof num); num=true; alert(typeof num); num= new Date(); alert(typeof num); </script> </head> </html>
Among them, I will explain the following code. The following lines of code are shown in the figure below. We cannot see that we only created one variable num at the beginning, which is of type var, but we can assign various types to it: numerical type, string, Boolean type, object type , for this we can infer that JavaScript is a weakly typed language.
A variable in JavaScript can be assigned values of different data types. It allows implicit conversion of variable types, forced type conversion, etc. For example, strings and values can be automatically converted; while strongly typed languages generally do not allow this. Do.
var num=0; alert(typeof num);
num="123"; alert(typeof num);
num=true; alert(typeof num);
num= new Date(); alert(typeof num);
【Related recommendations: javascript learning tutorial】
The above is the detailed content of Is javascript strongly typed or weakly typed?. For more information, please follow other related articles on the PHP Chinese website!