Home Web Front-end JS Tutorial A detailed introduction to value types in JavaScript

A detailed introduction to value types in JavaScript

May 16, 2016 pm 04:23 PM

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
Copy after login

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);
Copy after login

The program output result is number.

Get the type of string:

var s = "test";
console.log(typeof s);
Copy after login

The program output result is string.

Get the type of Boolean value:

var b = true;
console.log(typeof b);
Copy after login

The program output result is boolean.

Get the type of null:

var x = null;
console.log(typeof x);
Copy after login

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);
Copy after login

The program output result is undefined.

Get the type of JSON object:

var j = {"name":"Bob", "age":42};
console.log(typeof j);
Copy after login

The program output result is object.

Get the type of array object:

var a = [2,3,5,7,11];
console.log(typeof a);
Copy after login

The program output result is object.

Get the type of function object:

var f = function(){return true;};
console.log(typeof f);
Copy after login

Function objects are special, and the typeof operator returns the result as function.

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

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Have Crossplay?
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

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)

How do I create and publish my own JavaScript libraries? How do I create and publish my own JavaScript libraries? Mar 18, 2025 pm 03:12 PM

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

How do I optimize JavaScript code for performance in the browser? How do I optimize JavaScript code for performance in the browser? Mar 18, 2025 pm 03:14 PM

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

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.

How do I debug JavaScript code effectively using browser developer tools? How do I debug JavaScript code effectively using browser developer tools? Mar 18, 2025 pm 03:16 PM

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 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 do I use source maps to debug minified JavaScript code? How do I use source maps to debug minified JavaScript code? Mar 18, 2025 pm 03:17 PM

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.

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.

See all articles