在Node.js中,new URL()
构造函数是一个非常重要的工具,用于解析和构造URL。这个构造函数遵循WHATWG URL标准,提供了丰富的功能和更好的兼容性。然而,在使用new URL()
时,需要注意它与Node.js内置url
模块的关系,以及如何避免潜在的冲突。本文将深入全面地解析new URL()
构造函数,包括其语法、属性、方法、与url
模块的关系以及使用示例。
一、new URL()
构造函数的语法
new URL()
构造函数的语法非常简单,它只需要一个参数:要解析的URL字符串。可选地,还可以传递一个基础URL作为第二个参数,用于解析相对URL。
const myURL = new URL(urlString[, baseURL]);
urlString
:要解析的URL字符串。baseURL
:可选参数,用于解析相对URL的基础URL。
二、new URL()
构造函数的属性
new URL()
构造函数解析URL后,会生成一个URL对象,该对象包含以下属性:
href
:完整的URL字符串。origin
:URL的源,包括协议、主机名和端口(如果有的话)。protocol
:URL的协议,例如'http:'
或'https:'
。username
:URL的用户名部分。password
:URL的密码部分。host
:URL的主机名,包括端口(如果有的话)。hostname
:URL的主机名,不包括端口。port
:URL的端口号。pathname
:URL的路径部分。search
:URL的查询参数部分,以'?'
开头。searchParams
:一个URLSearchParams
对象,用于处理查询参数。hash
:URL的哈希部分,以'#'
开头。
三、new URL()
构造函数的方法
虽然new URL()
构造函数本身不是一个方法,但它创建的URL对象提供了以下方法:
toString()