У меня проблемы с расширением собственного класса 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();
TypeError: ws.doSomething не является функцией. (В 'ws.doSomething ()', ws.doSomething 'не определено)
console.log('MyWebSocket.prototype')
позволяет увидеть, что функция была добавлена в прототип. Это происходит с несколькими другими встроенными классами, например, Animation
, но не с другими, как, например, Date
.
Кто-нибудь сталкивался с этим? Это ошибка в Safari? Любой совет приветствуется!