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

Porównanie zmiennych w js

VPS Starter Arubacloud
0 głosów
176 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,100 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 (269,120 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,100 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,100 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 736 wizyt
pytanie zadane 21 listopada 2018 w JavaScript przez Rafał Masny Obywatel (1,700 p.)
+1 głos
1 odpowiedź 443 wizyt
pytanie zadane 27 listopada 2021 w C i C++ przez KubaM Nowicjusz (130 p.)
0 głosów
1 odpowiedź 611 wizyt
pytanie zadane 27 października 2018 w PHP przez Misiek Mądrala (5,300 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...