javascript对象的自定义退货

时间:2018-08-27 09:36:27

标签: javascript

我正在尝试基于URL本机对象:CustomURL创建一个对象。

我希望CustomURL像“ window.location”一样工作:

  • new CustomURL()以字符串格式(不使用明确的toString)返回完整的url
  • 新的CustomURL()。host返回主机

    class CustomURL extends URL{
    
      constructor(url,baseurl){
        super(url,baseurl);
      }
    
      //CUSTOM METHOD
      foo(){
    
      }
    }
    

我怎么知道是否调用了属性?

谢谢

1 个答案:

答案 0 :(得分:0)

window.location不符合您的描述。

const l = window.location;
console.log(typeof l);

它不是字符串。

但是,如果您在将其视为字符串的上下文中使用它,那么它将被转换。

这是通过使用a toString method完成的。

const example = {};

example.toString = function () {
    return "Hello, world";
};

console.log(typeof example);
console.log("Hello? " + example);