Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

207
Visualizações
¿"Interfaz" en la documentación de MDN para JS?

Me encontré con la palabra " interfaz " tantas veces mientras leía la documentación de MDN para JS, pero nunca entendí completamente a qué se refiere.

Sé que no existe una 'interfaz' en JS como en Java, C#, TypeScript y todos los demás lenguajes orientados a objetos similares.

Como sé hasta ahora, una interfaz es solo una colección de propiedades y definiciones de métodos (no implementaciones) que una determinada clase debe implementar para ajustarse a una interfaz en particular, pero ese no es, una vez más, el caso de JS.

Ahora, imaginemos que MDN dice alguna propiedad de algún objeto, digamos que la propiedad de geolocation de window.navigator devuelve el objeto GeolocationPosition/GeolocationPositionError . Luego leemos que estos objetos se ajustan a la(s) interfaz(es) GeolocationPosition/GeolocationPositionError .

Verificar las interfaces GeolocationPosition/GeolocationPositionError a través de console.dir devuelve que son funciones. Entonces, ¿significa que los objetos GeolocationPosition/GeolocationPositionError devueltos al acceder a la propiedad de geolocation en window.navigator son solo objetos creados por las funciones GeolocationPosition/GeolocationPositionError ?

Entonces, ¿el término interface en la documentación de MDN solo se refiere a la función, que crea objetos con ciertas propiedades y métodos al igual que las funciones de constructor regulares?

Entonces, ¿por qué no puedo generar un nuevo objeto(s) GeolocationPosition/GeolocationPositionError /GeolocalizaciónPosiciónError utilizando estas funciones GeolocationPosition/GeolocationPositionError y new operador?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

La interfaz en realidad tiene un significado bien definido en el contexto de las API web del navegador.

Una interfaz en ese contexto es una interfaz WebIDL . WebIDL es el "lenguaje de especificación de interfaz" sobre el cual se construyen cosas como HTML y las especificaciones DOM.

Por ejemplo, window.navigator implementa la interfaz del navegador :

 [Exposed=Window] interface Navigator { // objects implementing this interface also implement the interfaces given below }; Navigator includes NavigatorID; Navigator includes NavigatorLanguage; Navigator includes NavigatorOnLine; Navigator includes NavigatorContentUtils; Navigator includes NavigatorCookies; Navigator includes NavigatorPlugins; Navigator includes NavigatorConcurrentHardware;

Las interfaces son similares a lo que esperaría de los "lenguajes OO":

Los fragmentos IDL se utilizan para describir sistemas orientados a objetos. En tales sistemas, los objetos son entidades que tienen identidad y que son encapsulaciones de estado y comportamiento. Una interfaz es una definición (interfaz coincidente InterfaceRest) que declara algún estado y comportamiento que expondrá un objeto que implemente esa interfaz.

Una interfaz es una especificación de un conjunto de miembros de interfaz (InterfaceMembers coincidentes). Estos son los miembros que aparecen entre llaves en la declaración de la interfaz.

Las interfaces en Web IDL describen cómo se comportan los objetos que implementan la interfaz. En enlaces para lenguajes orientados a objetos, se espera que un objeto que implemente una interfaz IDL particular proporcione formas de inspeccionar y modificar el estado del objeto y de invocar el comportamiento descrito por la interfaz.

Una interfaz se puede definir para heredar de otra interfaz. Si el identificador de la interfaz va seguido de un carácter U+003A COLON (":") y un identificador, entonces ese identificador identifica la interfaz heredada. Un objeto que implementa una interfaz que hereda de otro también implementa esa interfaz heredada. Por lo tanto, el objeto también tendrá miembros que correspondan a los miembros de la interfaz de la interfaz heredada.

Todo desde la especificación WebIDL.

¿En cuanto a por qué no puede generar sus propias instancias del navegador de implementaciones para esas interfaces?

Sospecho que GeolocationPositionError , por ejemplo, no se puede crear porque no está expuesto en window . Si permitir eso es útil para los usuarios, puede abrir una solicitud de función en el repositorio whatwg/html .

about 4 years ago · Juan Pablo Isaza Relatório

0

En los documentos de MDN, la palabra interfaz se usa a menudo para hablar sobre las API (interfaz de programación de aplicaciones). De hecho, lo único de lo que debe preocuparse como desarrollador es la API (no los detalles de implementación detrás de la API ).

Las interfaces son solo conceptuales en JavaScript, pero existen en algunos lenguajes de extensión como TypeScript.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda