no-constant-condition false positive on string compare
See original GitHub issueCheck out Demo Page for more details
Tell us about your environment
- ESLint Version: 6.3.0
Please show your full configuration:
Configuration
{
"parserOptions": {
"ecmaVersion": 11,
"sourceType": "script",
"ecmaFeatures": {}
},
"rules": {
"constructor-super": 2,
"for-direction": 2,
"getter-return": 2,
"no-async-promise-executor": 2,
"no-case-declarations": 2,
"no-class-assign": 2,
"no-compare-neg-zero": 2,
"no-cond-assign": 2,
"no-const-assign": 2,
"no-constant-condition": 2,
"no-control-regex": 2,
"no-debugger": 2,
"no-delete-var": 2,
"no-dupe-args": 2,
"no-dupe-class-members": 2,
"no-dupe-keys": 2,
"no-duplicate-case": 2,
"no-empty": 2,
"no-empty-character-class": 2,
"no-empty-pattern": 2,
"no-ex-assign": 2,
"no-extra-boolean-cast": 2,
"no-extra-semi": 2,
"no-fallthrough": 2,
"no-func-assign": 2,
"no-global-assign": 2,
"no-inner-declarations": 2,
"no-invalid-regexp": 2,
"no-irregular-whitespace": 2,
"no-misleading-character-class": 2,
"no-mixed-spaces-and-tabs": 2,
"no-new-symbol": 2,
"no-obj-calls": 2,
"no-octal": 2,
"no-prototype-builtins": 2,
"no-redeclare": 2,
"no-regex-spaces": 2,
"no-self-assign": 2,
"no-shadow-restricted-names": 2,
"no-sparse-arrays": 2,
"no-this-before-super": 2,
"no-undef": 2,
"no-unexpected-multiline": 2,
"no-unreachable": 2,
"no-unsafe-finally": 2,
"no-unsafe-negation": 2,
"no-unused-labels": 2,
"no-unused-vars": 2,
"no-useless-catch": 2,
"no-useless-escape": 2,
"no-with": 2,
"require-atomic-updates": 2,
"require-yield": 2,
"use-isnan": 2,
"valid-typeof": 2
},
"env": {
"browser": true
}
}
What did you do? Please include the actual source code causing the issue, as well as the command that you used to run ESLint.
/*eslint no-constant-condition: "error"*/
function isDate(ty, tm, td) {
const [y, m, d] = new Date().toISOString().split(/[-T]/).map(x => +x);
if ('' + [y, m, d] === '' + [ty, tm, td]) {
return true;
}
return false;
}
console.log(isDate(2019,9,5));
What did you expect to happen? No error
What actually happened? Please include the actual, raw output from ESLint.
4:7 - Unexpected constant condition. (no-constant-condition)
Issue Analytics
- State:
- Created 4 years ago
- Comments:5 (3 by maintainers)
Top Results From Across the Web
no-constant-condition - ESLint - Pluggable JavaScript Linter
A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease.
Read more >Is it incorrect to use (type of variable) as condition? es-lint ...
The no-constant-condition rule is working as expected. Your if statement will always evaluate to false . I'll break down the explination.
Read more >no-unnecessary-condition - TypeScript ESLint
Disallow conditionals where the type is always truthy or always falsy. Extending "plugin:@typescript-eslint/strict" in an ESLint configuration enables this ...
Read more >"Condition is always false" for string.find false positive : CPP-29884
In many places of the code I use string find and it seems that CLion 2022.2 sees is as "condition always false", which...
Read more >12.8.1 String Comparison Functions and Operators
Returns 1 ( TRUE ) or 0 ( FALSE ). If either expr or pat is NULL , the result is NULL ....
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I am going to take a look at this.
Unfortunately, it looks like there wasn’t enough interest from the team or community to implement this change. While we wish we’d be able to accommodate everyone’s requests, we do need to prioritize. We’ve found that accepted issues failing to be implemented after 90 days tend to never be implemented, and as such, we close those issues. This doesn’t mean the idea isn’t interesting or useful, just that it’s not something the team can commit to.
Thanks for contributing to ESLint and we appreciate your understanding.