【JavaScript】内置构造函数详解

JavaScript 作为一种动态、基于原型的语言,提供了丰富的内置构造函数来帮助开发者处理各种数据类型和结构。本文将详细介绍 JavaScript 中的重要内置构造函数,包括其用法和常见场景。这些构造函数涵盖了基础数据类型、集合对象、错误处理以及其他实用工具,帮助开发者更高效地进行编码。

一、基础数据类型的构造函数

1. Object 构造函数

Object 是 JavaScript 中最基础的构造函数之一。几乎所有的 JavaScript 对象都是通过 Object 构造函数或其子类创建的。它用于创建对象并提供对对象原型的访问。

const obj = new Object();
obj.name = "John";
obj.age = 30;

Object 构造函数有以下常用方法:

  • Object.keys(obj):返回对象的键数组。
  • Object.values(obj):返回对象的值数组。
  • Object.entries(obj):返回对象的键值对数组。

2. Array 构造函数

Array 是 JavaScript 用于存储和操作有序列表的构造函数。它允许创建一个数组并对其中的元素进行操作。

const arr = new Array(1, 2, 3);

常用方法包括:

  • push():向数组末尾添加一个或多个元素。
  • pop():移除数组末尾的一个元素。
  • map():对数组中的每个元素应用一个函数,并返回一个新数组。
const doubled = arr.map(num => num * 2); // [2, 4, 6]

3. String 构造函数

String 构造函数用于创建字符串对象。虽然大多数情况下我们直接使用字符串字面量,但 String 构造函数在处理复杂字符串时很有用。

const str = new String("Hello World");

常用方法:

  • toUpperCase():将字符串转换为大写。
  • toLowerCase():将字符串转换为小写。
  • charAt():返回字符串中指定位置的字符。

4. Number 构造函数

Number 构造函数用于创建数字对象。它允许进行数字的处理和转换操作。

const num = new Number(42);

常用方法:

  • toFixed():将数字四舍五入为指定的小数位数。
  • toString():将数字转换为字符串。
const price = 19.99;
console.log(price.toFixed(1)); // 19.9

5. Boolean 构造函数

Boolean 构造函数用于创建布尔值对象(truefalse)。通常我们使用字面量来定义布尔值,但构造函数为更复杂的操作提供了支持。

const isActive = new Boolean(true);

常用场景包括:

  • 用于逻辑操作中的条件判断。

二、集合对象的构造函数

1. Set 构造函数

Set 是 JavaScript 中的一个集合对象,用于存储唯一的值,值可以是任何类型。

const set = new Set([1, 2, 3, 4, 4]);
console.log(set); // Set(4) { 1, 2, 3, 4 }

常用方法:

  • add(value):向集合中添加一个新值。
  • has(value):检查集合中是否包含某个值。
  • delete(value):从集合中移除指定值。
set.add(5);
console.log(set.has(5)); // true

2. Map 构造函数

Map 是一个键值对集合,键和值可以是任意类型。

const map = new Map();
map.set("name", "John");
map.set("age", 30);

常用方法:

  • set(key, value):向 Map 中添加键值对。
  • get(key):获取指定键对应的值。
  • has(key):检查是否存在指定的键。
console.log(map.get("name")); // John

3. WeakSetWeakMap 构造函数

WeakSetWeakMapSetMap 的弱引用版本,主要用于存储对象引用。它们不会阻止垃圾回收器回收这些对象。

let obj = { name: "John" };
const weakSet = new WeakSet();
weakSet.add(obj);

const weakMap = new WeakMap();
weakMap.set(obj, "metadata");

三、错误处理的构造函数

1. Error 构造函数

Error 构造函数用于创建错误对象,并在代码中抛出错误。可以为错误提供消息,以便于调试。

const error = new Error("Something went wrong");
throw error;

常用子类:

  • TypeError:类型错误。
  • RangeError:数值超出允许范围。
  • ReferenceError:非法引用。
try {
  let result = someUndefinedFunction();
} catch (e) {
  console.log(e instanceof ReferenceError); // true
}

四、其他常用构造函数

1. Date 构造函数

Date 用于处理日期和时间,提供了对日期、时间戳的创建和操作能力。

const now = new Date();

常用方法:

  • getFullYear():获取年份。
  • getMonth():获取月份(0-11)。
  • getDate():获取日期。
console.log(now.getFullYear()); // 当前年份

2. RegExp 构造函数

RegExp 用于创建正则表达式,用以执行模式匹配和文本搜索操作。

const regex = new RegExp("\\d+", "g");
console.log("123abc456".match(regex)); // ['123', '456']

常用方法:

  • test():测试字符串是否匹配正则表达式。
  • exec():执行正则表达式匹配,返回第一个匹配项的信息。
console.log(regex.test("abc")); // false

3. Function 构造函数

Function 构造函数允许动态创建函数。在现代 JavaScript 中,不推荐使用 Function 构造函数,因为它与 eval() 类似,可能会引发安全问题。

const add = new Function("a", "b", "return a + b");
console.log(add(2, 3)); // 5

五、总结

JavaScript 提供的内置构造函数为开发者提供了处理各种数据类型、集合和结构的工具。通过充分理解和掌握这些构造函数及其方法,开发者可以编写更高效、健壮的代码。在日常开发中,合理使用这些构造函数不仅能提升代码的可读性和可维护性,还能帮助解决复杂的编程问题。

推荐:


在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Peter-Lu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值