项目原始demo,不改动
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
Den här utvecklingskatalogen är arkiverad. Du kan se filer och klona katalogen, men inte öppna ärenden eller genomföra push- eller pull-förfrågningar.
 
 
 
 

45 rader
1.2 KiB

  1. /**
  2. * @fileoverview Rule to flag comparisons to null without a type-checking
  3. * operator.
  4. * @author Ian Christian Myers
  5. */
  6. "use strict";
  7. //------------------------------------------------------------------------------
  8. // Rule Definition
  9. //------------------------------------------------------------------------------
  10. module.exports = {
  11. meta: {
  12. docs: {
  13. description: "disallow `null` comparisons without type-checking operators",
  14. category: "Best Practices",
  15. recommended: false,
  16. url: "https://eslint.org/docs/rules/no-eq-null"
  17. },
  18. schema: [],
  19. messages: {
  20. unexpected: "Use '===' to compare with null."
  21. }
  22. },
  23. create(context) {
  24. return {
  25. BinaryExpression(node) {
  26. const badOperator = node.operator === "==" || node.operator === "!=";
  27. if (node.right.type === "Literal" && node.right.raw === "null" && badOperator ||
  28. node.left.type === "Literal" && node.left.raw === "null" && badOperator) {
  29. context.report({ node, messageId: "unexpected" });
  30. }
  31. }
  32. };
  33. }
  34. };