@putout/plugin-remove-useless-type-conversion

3.0.1 • Public • Published

@putout/plugin-remove-useless-type-conversion NPM version

It is possible to use a couple of NOT operators (!!) in series to explicitly force the conversion of any value to the corresponding boolean primitive. The conversion is based on the "truthyness" or "falsyness" of the value.

The same conversion can be done through the Boolean function.

(c) MDN

🐊Putout plugin adds ability to remove useless type conversion. Merged to @putout/plugin-types.

Install

npm i @putout/plugin-remove-useless-type-conversion

Rule

{
    "rules": {
        "remove-useless-type-conversion/named": "on",
        "remove-useless-type-conversion/with-double-negations": "on"
    }
}

named

Example of incorrect code

const a = !![1].includes(1);
const b = Boolean([1].includes(1));

Example of correct code

const a = [1].includes(1);

with-double-negations

Example of incorrect code

if (!!a) {
    console.log('hi');
}

Example of correct code

if (a) {
    console.log('hi');
}

Comparison

Linter Rule Fix
🐊 Putout remove-useless-type-conversion
ESLint no-implicit-coercion

License

MIT

Package Sidebar

Install

npm i @putout/plugin-remove-useless-type-conversion

Weekly Downloads

1,614

Version

3.0.1

License

MIT

Unpacked Size

5.67 kB

Total Files

6

Last publish

Collaborators

  • coderaiser