» JavaScript快速入门 » 1. 基础篇 » 1.2 基础类型

基础类型

JavaScript 提供了八种基本数据类型:

  • Boolean 代表真值:truefalse
  • Number 代表整数或浮点数。
  • BigInt 代表超出整数限制的整数。
  • Null 表示对象的缺失。
  • String 代表文本数据。
  • Symbol 代表不可变且唯一的原始值。
  • Undefined 表示值的缺失。
  • Object, 复杂数据类型。

除了 Object 之外的所有类型都定义了可直接表示的不可变值。我们将这些类型的值称为原始值,即基础类型。

Boolean

console.log(58 > 42) // true
console.log(true && false) // false
console.log(!false) // true

Number

console.log(58 + 42) // 100
console.log(5 * 4.8) // 24

BigInt

通过在整数末尾添加 n 或调用 BigInt() 函数来创建 BigInt。

// BigInt
const x = BigInt(Number.MAX_SAFE_INTEGER); // 9007199254740991n
console.log(x + 1n === x + 2n);
// false 因为 9007199254740992n 和 9007199254740993n 不相等

// Number
console.log(Number.MAX_SAFE_INTEGER + 1 === Number.MAX_SAFE_INTEGER + 2);
// true b因为两者都是 9007199254740992

Null

null 值表示某个对象值的缺失。

function getVowels(str) {
  // `/[aeiou]/gi` 是正则表达式
  const m = str.match(/[aeiou]/gi);
  // `m` 可以是对象或 `null`
  if (m === null) {
    return 0;
  }
  return m.length;
}

console.log(getVowels('sky'));
// 预期输出:0

String

String 类型表示文本数据,编码为表示 UTF-16 代码单元的 16 位无符号整数值序列。

let a = 'Hello'
let b = "Literank"
console.log(a) // Hello
console.log(a + " " + b) // Hello Literank


const c = "foo";
const d = "foo";
console.log(c === d); // true
console.log("foo" === "foo"); // true

Symbol

Symbol 是一个唯一不可变的原始值,可用作 Object 属性的键。

const sym1 = Symbol();
const sym2 = Symbol("foo");
const sym3 = Symbol("foo");

console.log(sym2 === sym3); // false
console.log(Symbol("foo") === Symbol("foo")); // false

Undefined

JavaScript 通常用 undefined 表示某种值的缺失。

function test(t) {
  if (t === undefined) {
    return 'Undefined value!';
  }
  return t;
}

let x;

console.log(test(x)); // Undefined value!

代码挑战

编写一个名为 checkUndefined 的函数,该函数接受一个数组作为输入,并返回一个仅包含非 undefined 元素的新数组。

不用担心 array,后面会介绍它。

Loading...
> 此处输出代码运行结果
上页
下页