A detailed introduction to value types in JavaScript
The essence of a computer program can be said to a large extent to be the operation, reading and writing of various information (values) by the machine. In JavaScript, there are many types of values, which are divided into two major categories: Primitive (basic type) and Object (object).
Primitive
There are 5 types of Primitive in JavaScript:
1.Number. All numbers, whether integers or decimals, are of type Number.
2.String. String type.
3.Boolean. Boolean type, true or false.
4.null. This type has only one value, null.
5.undefined. This type has only one value, undefined.
Object
Except Primitive, any other value in JavaScript is Object. There are the following types of Object:
1. JSON key-value pair object. Such as {"name":"Bob", "age":42}.
2. Array. Such as [1,4,5,7,9].
3. Function. Such as function(){return true;}. There are two forms of functions in JavaScript: 1. Executable code block; 2. Constructor of a class (Class). No matter what form it takes, functions are always objects.
JS comes with a global object
In order to facilitate program writing, JavaScript comes with a global object, which has the following 7 member variables, all of which are of type Object :
1.Math. A series of complex mathematical operations can be completed by calling the methods of the Math object.
2.Number. Some special values can be obtained by accessing the member variables of the Number object.
3.Array. Constructor for array objects.
4.Function. Constructor of function object.
5.Date. Constructor for date objects.
6.RegExp. Constructor for regular expression objects.
7.Error. Constructor for the error object.
When writing a program, since the above 7 variables can be directly accessed, they can also be used as global objects.
Immutable and Mutable
Primitive and Object have a distinct characteristic: all Primitives are Immutable, and all Objects are Mutable. Taking the String type as an example, after calling the String method to edit it, JavaScript will save the edited result in a new String object, and the original String object will not change in any way:
var s = "test"; s.toUpperCase();//return a new String object "TEST" console.log(s);//"test" -- original String s does not change
Experiment
In JavaScript, you can get the type of a value by using the typeof keyword.
Get the type of number:
var n = 42; console.log(typeof n);
The program output result is number.
Get the type of string:
var s = "test"; console.log(typeof s);
The program output result is string.
Get the type of Boolean value:
var b = true; console.log(typeof b);
The program output result is boolean.
Get the type of null:
var x = null; console.log(typeof x);
The program should output null, but it actually outputs object. The reason is that when using a typeof operation on a null value, the program returns object: a bug that has existed since the first version of JavaScript. During the development of the ECMAScript standard, there were some interesting debates about whether to fix this bug: the final conclusion was that fixing the bug would cause problems for too many websites, so it was not fixed for the time being.
Get the type of undefined:
var y = undefined; console.log(typeof y);
The program output result is undefined.
Get the type of JSON object:
var j = {"name":"Bob", "age":42}; console.log(typeof j);
The program output result is object.
Get the type of array object:
var a = [2,3,5,7,11]; console.log(typeof a);
The program output result is object.
Get the type of function object:
var f = function(){return true;}; console.log(typeof f);
Function objects are special, and the typeof operator returns the result as function.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Article discusses creating, publishing, and maintaining JavaScript libraries, focusing on planning, development, testing, documentation, and promotion strategies.

The article discusses strategies for optimizing JavaScript performance in browsers, focusing on reducing execution time and minimizing impact on page load speed.

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...

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.

The article discusses effective JavaScript debugging using browser developer tools, focusing on setting breakpoints, using the console, and analyzing performance.

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...

The article explains how to use source maps to debug minified JavaScript by mapping it back to the original code. It discusses enabling source maps, setting breakpoints, and using tools like Chrome DevTools and Webpack.

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.
