📜  JavaScript数据类型

📅  最后修改于: 2020-09-27 04:18:34             🧑  作者: Mango

在本教程中,您将在示例的帮助下了解JavaScript中可用的各种数据类型。

正如名称data types所建议的那样,它表示可以在程序中使用的数据类型。例如,

let x = 5;
let y = "Hello";

这里,

  • 5是整数数据。
  • “ Hello”是字符串数据。

JavaScript数据类型

JavaScript有八种基本数据类型。他们是:

Data Types Description Example
String represents textual data 'hello', "hello world!" etc
Number an integer or a floating-point number 3, 3.234, 3e-2 etc.
BigInt an integer with arbitrary precision 900719925124740999n , 1n etc.
Boolean Any of two values: true or false true and false
undefined a data type whose variable is not initialized let a;
null special keyword denoting a null value let a = null;
Symbol data type whose instances are unique and immutable let value = Symbol('hello');
Object key-value pairs of collection of data let student = { };

在这里,除Object以外的所有数据类型都是原始数据类型,而Object是非原始数据类型。

注意: Object数据类型(非原始类型)可以存储数据集合,而原始数据类型只能存储单个数据。


JavaScript字串

String用于存储文本。在JavaScript中, 字符串用引号引起来:

  • 单引号: 'Hello'
  • 双引号: "Hello"
  • 反引号: `Hello`

例如,

//strings example
let name = 'ram';
let name1 = "hari";
let result = `The names are ${name} and ${name1}`;

单引号和双引号实际上是相同的,您可以使用它们中的任何一个。

当您需要在字符串包含变量或表达式时,通常使用反引号。如上所示,这是通过用${variable or expression}包装变量或表达式来完成的。

您将在JavaScript String教程中了解反引号的用法。


JavaScript编号

Number代表整数和浮点数字(小数和指数)。例如,

let number1 = 3;
let number2 = 3.433;
let number3 = 3e5 // 3 * 10^5

数字类型也可以是+Infinity-InfinityNaN (不是数字)。例如,

let number1 = 3/0;
console.log(count); // returns Infinity

let number2 = -3/0;
console.log(count1); // returns -Infinity

// strings can't be divided by numbers
let number3 = "abc"/3; 
console.log(number3);  // returns NaN

JavaScript BigInt

在JavaScript中, Number类型只能表示小于(2 53-1 )且大于-(2 53-1 )的数字 。但是,如果您需要使用更大的数字,则可以使用BigInt数据类型。

通过将n附加到整数的末尾来创建BigInt数字。例如,

// BigInt value
let value = 900719925124740998n;

// Adding two big integers
let value1 = value + 1n;
console.log(value1); // returns "900719925124740999n"

let value = 900719925124740998n;

// Error! BitInt and number cannot be added
let value1 = value + 1; 
console.log(value1); 

输出

900719925124740999n
Uncaught TypeError: Cannot mix BigInt and other types

注意: BigInt是在较新版本的JavaScript中引入的,许多浏览器(包括Safari)均不支持。访问JavaScript BigInt支持以了解更多信息。


JavaScript布尔值

此数据类型表示逻辑实体。 Boolean表示两个值之一: truefalse 。更容易将其视为是/否开关。例如,

let dataChecked = true;
let valueCounted = false;

您将在JavaScript比较和逻辑运算符教程中了解有关布尔值的更多信息。


JavaScript未定义

undefined数据类型表示未分配值 。如果声明了变量但未分配值,则该变量的值将是undefined 。例如,

let name;
console.log(name); // returns undefined

也可以显式分配变量值undefined 。例如,

let name = undefined;
console.log(name); // returns undefined

注意:建议不要为变量明确分配undefined 。通常, null用于为变量分配“未知”或“空”值。


JavaScript null

在JavaScript中, null是一个特殊值,表示 未知值 。例如,

let number = null;

上面的代码表明number变量为空。

注意null与NULL或Null不同。


JavaScript符号

此数据类型是在JavaScript的较新版本(来自ES2015)中引入的。

具有数据类型Symbol值可以称为符号值Symbol是一个不变的原始值,它是唯一的。例如,

// two symbols with the same description

let value1 = Symbol('hello');
let value2 = Symbol('hello');

尽管value1value2都包含'hello' ,但它们与Symbol类型不同。

访问JavaScript Symbol了解更多信息。


JavaScript对象

object是一种复杂的数据类型,它允许我们存储数据集合。例如,

let student = {
firstName: 'ram',
lastName: null,
class: 10
};

您将在后面的教程中了解JavaScript对象


JavaScript类型

JavaScript是一种动态类型化(宽松类型)的语言。 JavaScript自动为您确定变量的数据类型。

这也意味着变量可以是一种数据类型,以后可以更改为另一种数据类型。例如,

// data is of undefined type
let data;

// data is of integer type
data = 5;

// data is of string type
data = "JavaScript Programming";

JavaScript类型

要查找变量的类型,可以使用typeof 运算符。例如,

let name = 'ram';
typeof(name); // returns "string"

let number = 4;
typeof(number); //returns "number"

let valueChecked = true;
typeof(valueChecked); //returns "boolean"

let a = null;
typeof(a); // returns "object"

请注意, typeof返回的"object"null类型。自JavaScript首次发布以来,这是一个已知问题。