Add `Object.hasOwn` to Section 3.7 (Object.prototype methods)
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Documentación
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- eslint, javascript
- Área
- documentation
Línea de trabajo
Empieza por la sección 3.7, “Object.prototype methods”, de la guía de estilo de JavaScript y revisa la documentación enlazada de MDN y ESLint sobre Object.hasOwn y prefer-object-has-own. Actualiza la redacción y los ejemplos de la sección para incluir Object.hasOwn y, a continuación, verifica que las indicaciones reflejen correctamente la compatibilidad de los navegadores y la regla de ESLint citadas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Hello, it seems that Object.hasOwn is now available in most major browsers (https://caniuse.com/mdn-javascript_builtins_object_hasown), so it might be worth adding it to section 3.7.
It seems to be recommended as a replacement for Object.hasOwnProperty (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwn), so the section could be changed to something like this:
-
3.7 Do not call
Object.prototypemethods directly, such ashasOwnProperty,propertyIsEnumerable, andisPrototypeOf. eslint:no-prototype-builtinsWhy? These methods may be shadowed by properties on the object in question - consider
{ hasOwnProperty: false }- or, the object may be a null object (Object.create(null)). In modern browsersObject.hasOwncan be used, which works for null objects and objects, wherehasOwnPropertyhas been overridden.// bad console.log(object.hasOwnProperty(key)); // good console.log(Object.prototype.hasOwnProperty.call(object, key)); // better const has = Object.prototype.hasOwnProperty; // cache the lookup once, in module scope. console.log(has.call(object, key)); // best console.log(object.hasOwn(key)); /* or */ import has from 'has'; // https://www.npmjs.com/package/has console.log(has(object, key));
There is also a rule for this available in eslint 8.5+ (https://eslint.org/docs/latest/rules/prefer-object-has-own).
Cheers
- Lenguaje dominante
- JavaScript
- Estrellas
- 148k
- Forks
- 26.6k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de airbnb/javascript
-
Severity: Unhandled promise rejection in `whitespace-async.js` when ESLint async path is usedPosiblemente ocupada @bodapatisaikrishna la tomó hace 24 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
airbnb/javascript#3237 · 6 comentarios ·
-
Inconsistent semicolon usage in examples (Arrays vs Functions)Posiblemente ocupada @Developer-shivamMishra la tomó hace 15 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
airbnb/javascript#3152 · 4 comentarios ·
-
No error handling around execSync + JSON.parse in whitespace.js (ESLint 9 path)Posiblemente ocupada @dataCenter430 la tomó hace 219 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 48/100
airbnb/javascript#3238 · 8 comentarios ·
-
Upgrading eslint-plugin-react-hooksPosiblemente ocupada @weihongyu12 la tomó hace 365 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 38/100
airbnb/javascript#3186 · 3 comentarios · 2 reacciones ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
airbnb/javascript#3173 · 9 comentarios · 1 reacción ·
Todos los issues de airbnb/javascript
Issues similares
-
enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
anoopcodehack/DevBoard#609 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
openai/codex-plugin-cc#813 ·
-
area: ops type: test
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
accensa/x402-facilitator-stellar#559 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
bilawalsidhu/gods-eye-view#1060 ·
Los mantenedores suelen responder en 1 día
-
Progress difficulty filter lists Hard before MediumPosiblemente ocupada @Pandamachi la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
sysprog21/codetrial#281 · 1 comentario ·
Los mantenedores suelen responder en 1 día