Estoy estudiando el prototipo y haciendo algunas pruebas, y he decidido asignar un método al objeto String como este:
String.prototype.sel = function sel() { var elem = doc.querySelectorAll(this); if (elem.length == 1) return elem[0]; return elem; } Y al obtener un archivo console.log(String.prototype) y obtener el método que creé, noté que en [[Scopes]] obtengo 1: Global {window: Window..., ¿qué significa [[Scopes]] ?
Prueba completa:
String.prototype.sel = function sel() { var elem = document.querySelectorAll(this); if (elem.length == 1) return elem[0]; return elem; } '[btnSend]'.sel().onclick = () => { alert('ok') } console.log(String.prototype); <button btnSend>Send</button>