• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Porównanie zmiennych w js

Object Storage Arubacloud
0 głosów
177 wizyt
pytanie zadane 8 października 2020 w JavaScript przez User007 Bywalec (2,400 p.)

Dlaczego php storm zgłasza mi taki warunek:

if (url === null) {
console.log('');
}

I komunikat stroma brzmi: Condition is always false since types 'string' and 'null' have no overlap

O co chodzi? przecież url może być nullem albo stringiem więc sprawdzam czy nie jest nullem.

Dzięki.

komentarz 8 października 2020 przez ScriptyChris Mędrzec (190,190 p.)

Skąd pochodzi zmienna url (jakiś wbudowany interfejs, czy Twoja zmienna)? Czy to na pewno zgłasza PHPStorm, a nie jakiś kompilator, z którego korzystasz?

komentarz 8 października 2020 przez adrian17 Ekspert (344,860 p.)
PyCharm jest przekonany, że `url` nigdy nie będzie nullem, stąd ostrzeżenie.

Dobre pytanie - skąd bierzesz tą zmienną?
komentarz 8 października 2020 przez Wiciorny Ekspert (270,190 p.)
moim zdaniem to też kwestia tego ze PyCharm traktuje "===" tylko jako porównanie referencji, a że null takowej- nie posiada to sonar by nawet świecił , tzn Pycharm wymaga obiektów, a jako że null nie reprezentuje obiektu to będzie świecić
komentarz 8 października 2020 przez adrian17 Ekspert (344,860 p.)
...nie, przepraszam ale to nie ma sensu ;)

Edytor (konkretniej, pewnie typescript) po prostu zrobił analizę typów, stwierdził że `url` musi być typu string (a nie "string lub null") więc daje warning.
komentarz 9 października 2020 przez User007 Bywalec (2,400 p.)

Tak jak napisałem w komentarzu do posta poniżej, prześledziłem zmienną url i ona nigdy nie będzie nullem.

Dzięki za pomoc.

1 odpowiedź

+1 głos
odpowiedź 8 października 2020 przez Tomek Sochacki Ekspert (227,510 p.)
wybrane 9 października 2020 przez User007
 
Najlepsza
A jak deklarujesz ten url, skąd to pochodzi? Jesteś pewny że może to być null, czy może pustym stringiem?
komentarz 9 października 2020 przez User007 Bywalec (2,400 p.)
Tak, masz rację prześledziłem ten cały url i on nigdy nie będzie nullem. Co najwyżej może być pustym stringiem. I to stąd ten warning. Nie wiem tylko czy ten warning pochodzi z phpstorm, eslint czy z jakiegoś innego pluginu.

Dzięki.
komentarz 9 października 2020 przez adrian17 Ekspert (344,860 p.)

Pokaż jak wygląda kod?

Nie wiem tylko czy ten warning pochodzi z phpstorm, eslint czy z jakiegoś innego pluginu.

Komunikat najpewniej pochodzi z kompilatora typescripta.

https://github.com/microsoft/TypeScript/blob/master/src/compiler/diagnosticMessages.json#L1496

Podobne pytania

0 głosów
2 odpowiedzi 744 wizyt
pytanie zadane 21 listopada 2018 w JavaScript przez Rafał Masny Obywatel (1,700 p.)
+1 głos
1 odpowiedź 487 wizyt
pytanie zadane 27 listopada 2021 w C i C++ przez KubaM Nowicjusz (130 p.)
0 głosów
1 odpowiedź 656 wizyt
pytanie zadane 27 października 2018 w PHP przez Misiek Mądrala (5,300 p.)

92,579 zapytań

141,432 odpowiedzi

319,657 komentarzy

61,963 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...