我在WebSocket使用 es6 类扩展本机类时遇到问题。
以下代码适用于 Chrome 和 Firefox,但不适用于 Safari:
class MyWebSocket extends WebSocket {
doSomething() {
console.log('hi');
}
}
let ws = new MyWebSocket('wss://127.0.0.1:4000');
ws.doSomething();
Run Code Online (Sandbox Code Playgroud)
类型错误:ws.doSomething 不是函数。(在 'ws.doSomething()' 中,'ws.doSomething' 未定义)
console.log('MyWebSocket.prototype')让我看到该功能已添加到原型中。其他一些内置类会发生这种情况,Animation它们是一个,但不会发生在其他类中Date,例如。
有没有人遇到过这个?这是 Safari 中的错误吗?任何建议表示赞赏!