Home  >  Article  >  Web Front-end  >  Is javascript strongly typed or weakly typed?

Is javascript strongly typed or weakly typed?

青灯夜游
青灯夜游Original
2021-12-10 11:26:334155browse

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.

Is javascript strongly typed or weakly typed?

The operating environment of this tutorial: windows7 system, javascript version 1.8.5, Dell G3 computer.

Strong type definition language and weak type definition language

1) Strong type definition language:

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.

2) Weakly typed definition 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);

Is javascript strongly typed or weakly typed?

num="123";
alert(typeof num);

Is javascript strongly typed or weakly typed?

 num=true;
alert(typeof num);

Is javascript strongly typed or weakly typed?

 num= new Date();
alert(typeof num);

Is javascript strongly typed or weakly typed?

【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!

Statement:
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