Wpis z mikrobloga

Mógłby ktoś odpowiedzieć mi czemu wybranie javascriptu jakiego pierwszego języka do nauki jest złym pomysłem? Bardzo mi on odpowiada, bo można w nim zrobić od aplikacji webowych po mobilne, desktopowe po server side. Od razu mówię ze jestem zielony jeśli o to chodzi, czy uczy on złych wzorców a może jest zbyt trudny/toporny na początek?
#programowanie #js #javascript
  • 31
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@xbass: Otóż nieprawda. Netflix stoi na Javie. node.js nie ma takiej mocy przerobowej, streamowanie wideo wymaga większej mocy a nie obsługi dużej ilości requestów.

"The vast majority of the services running within our architecture are built on Java and the Java Virtual Machine [JVM]," says Andrew Glover, delivery engineering manager at Netflix.
  • Odpowiedz
@cecyl: O co ci chodzi? Nie ma czegoś takiego jak zwykłe i niezwykłe zmienne :)
var - zasięg w funkcji
let - zasięg w bloku kodu
const - stała, zasięg w bloku kodu

To naprawdę nie trzeba się dużo wysilić żeby to zapamiętać i początkujący też sobie z tym poradzi :)
  • Odpowiedz
Mógłby ktoś odpowiedzieć mi czemu wybranie javascriptu jakiego pierwszego języka do nauki jest złym pomysłem?


@xemonnt: Bo jest językiem miękko typowanym, do tego bardzo łatwo w nim oszukiwać i iść na skróty. Będzie ci trudno utrzymać prawidłową strukturę kodu, będziesz wpadał w trudno wykrywalne błędy, bez wiedzy, jak to powinno wyglądać, a JS niemal wszystko przepuści. Ale czasu na C++ nie marnuj, dorzuć typescripta z restrykcyjnymi ustawieniami, bardziej zwracaj uwagę
  • Odpowiedz
zmienne są domyślnie globalne? To chyba nie w javascripcie.

@kebab-case: ale on dobrze mówił. Jeśli nie użyjesz strict mode w przeglądarce, to przypisanie (bez słówka var) do nieistniejącej zmiennej stworzy zmienną globalną... i co więcej nie będzie to zwykła zmienna, a tak naprawdę property obiektu globalnego, która - w przeciwieństwie do "zwykłej" zmiennej - może być usunięta. Domyślam się, że stąd tenże cytowany fragment:

Nie ma czegoś takiego jak zwykłe
  • Odpowiedz
@Marmite:

Tak że... jeśli o czymś nie wiesz, to lepiej nie mów ( ͡° ͜ʖ ͡°)


No okej, możliwe że nie wiem, ale za to chętnie się dowiem :) Możesz zacytować fragment ze specyfikacji ECMAScriptu, który wprowadza rozróznienie na zmienne "zwykłe" i "niezwykłe"?

Szukałem jako "unusual variable" i nic nie ma. "extraordinary variable" też nie :)
  • Odpowiedz
@kebab-case: bo specyfikacja ES nie mówi o czymś takim. Specyfikacja ES mówi jedynie o tym, że jeśli przypiszesz w "sloppy mode" wartość do nieistniejącej referencji, to takowa zostanie utworzona jako property obiektu globalnego. Skrótowo mówi się o tym "zmienna globalna", ale to nie jest zmienna - to jest property. Jest, podobnie jak zmienna, widoczna w zasięgu globalnym, ale różni się tym, że można ją usunąć. Przetestuj taki kod:

var a = 1;
delete
  • Odpowiedz
@Marmite: To czemu mówisz, że o czymś nie wiem? Ja tylko stwierdziłem, że nie istnieje rozróżnienie na zmienne zwykłe i niezwykłe :)

bo specyfikacja ES nie mówi o czymś takim


No i o to mi chodzi :)
  • Odpowiedz