Skip to content

类型总览

JavaScript 中的数据类型

JavaScript中的数据类型

  1. string
  2. number
  3. boolean
  4. null
  5. undefined
  6. bigint
  7. symbol
  8. object 备注:其中 object 包含:Array、Function、Date、Error 等......

TypeScript 中的数据类型

TypeScript中的数据类型

  1. 上述所有 JavaScript 类型

  2. 六个新类型:

  • any
  • unknown
  • never
  • void
  • tuple
  • enum
  1. 两个用于自定义类型的方式:
  • type
  • interface

注意点

注意

在 JavaScript 中的这些内置构造函数:Number、String、Boolean,它们用于创建对应的包装对象, 在日常开发时,在 TypeScript 中也是同理,所以在 TypeScript 中进行类型声明时,通常都是用小写的 number、string、boolean

例如下面代码:

javascript
let str1: string;
str1 = "hello";
str1 = new String("hello"); //报错

let str2: String;
str2 = "hello";
str2 = new String("hello");

console.log(typeof str1);
console.log(typeof str2);
  1. 原始类型 VS 包装对象
  • :如 number、string、boolean,在 JavaScript 中是简单数据类型,它们在内存中占用空间少,处理速度快。
  • :如 Number 对象、String 对象、Boolean 对象,是复杂类型,在内存中占用更多空间,在日常开发时很少由开发人员自己创建包装对象。
  1. :JavaScript 在必要时会自动将原始类型包装成对象,以便调用方法或访问属性。
javascript
// 原始类型字符串
let str = "hello";

// 当访问str.length时,JavaScript引擎做了以下工作:
let size = (function () {
  // 1. 自动装箱:创建一个临时的String对象包装原始字符串
  let tempStringObject = new String(str);

  // 2. 访问String对象的length属性
  let lengthValue = tempStringObject.length;

  // 3. 销毁临时对象,返回长度值
  // (JavaScript引擎自动处理对象销毁,开发者无感知)
  return lengthValue;
})();

console.log(size); // 输出: 5