TypeError: Przypisanie do zmiennej stałej

Wyobraź sobie, że piszesz kod i wszystko jest w porządku, ale kiedy uruchamiasz testy lub wykonujesz go w przeglądarce lub węźle, widzisz taki błąd.

Można to łatwo naprawić, ponieważ zadeklarowałeś stałą, a następnie próbowałeś ją zmienić:

const a = 5;
a = 3;

Ale poczekaj! Dlaczego warto zawracać sobie głowę takimi sprawami? @putout/convert-const-to-let pomoże Ci w tego typu sprawach! Będzie szukać odniesień i jeśli wartość zmiennej zostanie zmieniona, const zostanie przełączone na let . A kiedy nie ma powodu, aby zmienna miała wartość let, może przełączyć się z powrotem na const za pomocą prefer-constant ESLint:

W ten sposób 🐊 Putout zapobiega błędom działania!

ReferenceError: hello nie jest zdefiniowane

Załóżmy, że masz jakiś kod:

if (a)
    hello();
const hello = () => ‘world’;

Na pewno otrzymasz ReferenceError! Ale nie martw się! 🐊Putoutrozwiązuje nawet to za pomocą @putout/declare-before-reference !

OK, a co jeśli rzecz, która jest używana, w ogóle nie jest zadeklarowana? Nie martw się!

@putout/plugin-declare-undefined-variables z łatwością Ci w tym pomoże:

Jak skonfigurować?

Zainstaluj ESLint i eslint-plugin-putout za pomocą:

npm i eslint eslint-plugin-putout -D

Następnie dodaj .eslintrc.json za pomocą:

{
    "extends": [
        "plugin:putout/safe"
    ],
    "plugins": [
        "putout"
    ]
}

Następnie włącz opcję naprawy lint przy zapisywaniu:

Wniosek: naprawianie błędów wykonawczych przez linter jest dobrą rzeczą

To tyle na dziś, a na koniec kilka rzeczy:

☝️Śledź mnie na medium/@ coderaiser i dowiedz się, jak ulepszyć swoje kodowanie 😏.

☝️ Dodaj gwiazdki ⭐️ na GitHubie, to bardzo motywuje!

☝️ Wesprzyj mnie na Patreonie, jeśli podoba Ci się to, co robię.

☝️I pamiętaj, że zawsze jestem tutaj, aby rozwiązać każdy problem związany z podanym przeze mnie kodem 😋.

Pozdrawiam 🥤!

Więcej treści na PlainEnglish.io. Zapisz się na nasz „bezpłatny cotygodniowy biuletyn”. Śledź nas na Twitterze i LinkedIn. Sprawdź nasz Discord społeczności i dołącz do naszego Kolektywu talentów.