vib*_*97a 6 javascript node.js
我正在尝试扩展 URL 类并添加一个属性来自定义它。但它不起作用。
let { URL } = require('url');
class MyURL extends URL {
constructor(url, base) {
super(url, base);
this.base = base;
}
}
let ur = new MyURL('abc.html','http://www.example.com/about')
console.log(ur);
Run Code Online (Sandbox Code Playgroud)
它记录
MyURL { href: ' http://www.example.com/abc.html ', origin: ' http://www.example.com ', 协议: 'http:', 用户名: '', 密码: '' ,主机:'www.example.com',主机名:'www.example.com',端口:'',路径名:'/abc.html',搜索:'',searchParams:URLSearchParams {},哈希:'' }
请注意,它没有基本属性。为什么会发生这种情况?
如何通过扩展使其具有构造函数中提供的基础属性基础URL?
小智 7
尝试console.log(ur.base)一下,您将看到您的base类实例属性。之前看不到的原因是它console.log自动使用了toString()URL 类的方法。因此,您还必须toString在子类中重写并包含base属性。
| 归档时间: |
|
| 查看次数: |
1092 次 |
| 最近记录: |