前端基础复习(数据类型)

93 阅读2分钟

Javascript数据类型

动态类型

Javascript之所以被称为"动态类型",是因为它不像其他某些语言一样,定以后就被限制为某一数据类型

八种数据类型

  1. Number类型

Number类型代表整数(1、100、1000...)和浮点数值(0.1、0.01、0.001...)

Number类型还包括"特殊数值"(它们并不是数字)

  • Infinity
  • -Infinity
  • NaN
  1. BigInt

Number类型无法表示大于 (253-1)(即 9007199254740991),或小于 -(253-1) 的整数

当我们需要很大数字的时候, 可以使用BigInt(最近添加到javascript中)表示任意长度的整数

尾部的"n"表示这是一个BigInt类型

const bigInt = 1234567890123456789012345678901234567890n;

  1. String

字符串表现形式

javascript中的字符串必须括在引号里

let str = "hello world!"
let str2 = "我是吴彦祖"

其余表现形式

let str = "hello world!"
let str2 = "我是吴彦祖"

反引号可以在字符串中使用变量/表达式

let date = '周三';

console.log(`今天是${date}`);   //  今天是周三
console.log(`结果是${1+2}`)
  1. Boolean

包含两个值: true / false

可以作为比较的结果:

let isTrue = 4 > 1;
alert(isTrye)    // true
  1. "null"值

特殊的 null 值不属于上述任何一种类型

Javascript中的null仅仅代表"无"、"空"、 "值未知"的特殊值

  1. "undefined" 值

undefined 的含义是 未被赋值

let age;
console.log(age);   // undefined
  1. "object 类型和 symbol 类型"

object类型是一个特殊的类型 其他所有的数据类型称为"原始类型", 因为它们的值只包含一个单独的内容。而object用来存储数据集合和更复杂的实体。

symbol暂且不论。

  1. typeof 运算符

语法形式:

console.log(typeof (a));
console.log(typeof a);

返回数据类型:

typeof undefined        // "undefined"
typeof 0                // "number"
typeof 10n              // "bigint"
typeof true             // "boolean"
typeof "foo"            // "string"
typeof Symbol("id")     // "symbol"
typeof Math             // "object"  (1)
typeof null             // "object"  (2)
typeof alert            // "function"  (3)
  • (1) Math是一个object
  • (2) typeof null 返回"object"是一个官方承认的错误。null是一个特殊的类型, 不是object
  • (3) typeof会对函数区分对待,如果是一个函数, 会返回"function"