@5z7k9: parseInt przyjmuje dwa parametry, z czego drugi ma domyślną wartość = 10 - pierwszy to liczba, drugi to baza (np. parseInt('F', 16) === parseInt('23', 6)). .map podaje 3 argumenty - element, indeks, tablicę. Nieznajomość biblioteki standardowej szkodzi.
@regis3: Nie no, JS ma pełno ułomności. Obsługa dat, większość implicit konwersji, brak wbudowanych w język struktur danych, brak kontroli nad środowiskiem, jednowątkowość i pewnie wiele innych, których nie chce mi się o tej porze przypominać.
@regis3: @Ginden: spokojnie, każdy język ma ułomności, po prostu uwielbiam tego typu prezentacje i chętnie się nią podzieliłem(jeśli ktoś jeszcze nie widział). Można się trochę pośmiać, choć wiadomo, że tego typu prezentacje są lekko naciągane. :P
@KrzaQ2: Dobra, nie mogę edytować, a doczytałem. Wciąƶ jest to ułomność języka imho. No ale ja nie lubię jak funkcja w zasadzie ma gdzieś ile dostała argumentów...
@Ginden: Myślę, że o każdym języku/technologii można taką litanie tworzyć. Jest też przy okazji dynamicznym i nowoczesnym językiem, który adaptuje zarówno z języków obiektowych jak i funkcyjnych. Większość nowych featursów to scala.
Jedyną różnicę jaką dziś dostrzegam to ludzie, którzy korzystają z danej technologii. Próg wejścia w js jest mega mały więc średni poziom progamistów jest dość niski.
Weźmy takie c. Dość trudny, ale bardzo czytelny język. Ale ale. Był sobie taki konkurs. IOCCC. Doświadczeni programisci pobijali się w najmniej czytelnych konstrukcjach językowych. Js to przy tym pikuś. Zasada jest
@regis3: To, ƶe jest zgodne z załoƶeniami twórców nie oznacza, ƶe nie jest ułomnością. Jeśli masz prosty i oczywisty kod i działa on inaczej niƶ się spodziewałeś to jest właśnie to.
Albo np wypowiedzi twórcy c++, jakoby stworzył ten język dlatego aby było trudno w nim pisać. Żeby zrozumieć o co chodzi w tej wypowiedzi trzeba się trochę zagłębić w społeczność programistów niskopoziomowych.
@regis3: Jak czytasz czyjś kod to sprawdzasz wszystkie deklaracje funkcji, które wydają się sensownie nazwane? W jakim innym języku map/transform listy stringów po funkcji toInt zwróci takie bzdury?
@KrzaQ2: Ale parseInt nie jest do castowania do integer, tylko parsowania, np. liczb szesnastkowych. .map(Number) castuje do liczb, .map(Math.round) castuje na liczbę, a potem zaokrągla.
@KrzaQ2: ej serio szkoda mi czasu na takie spory. jestes zajebisty. To wypisz od razu jakie parametry przyjmują te funkcjei pogadamy. Też mogę parę języków wypisać.
Typek z kanału "Sprawdzam jak" wyjaśniony przez widza za wrzucanie klik-bajtowych miniaturek na swoim live prezentujących zalane miasto (foto w komentarzu) #powodz #sprawdzamjak #wroclaw
> xs = ['10', '10', '10']
> xs.map(parseInt)
[10, NaN, 2]
https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript
#programowanie #javascript #heheszki #humorinformatykow
parseInt('F', 16) === parseInt('23', 6)
)..map
podaje 3 argumenty - element, indeks, tablicę. Nieznajomość biblioteki standardowej szkodzi.@5z7k9:
parseInt('10',
Czym róƶni się
Math.sqrt
odparseInt
?@KrzaQ2: no właśnie to mnie tak zdziwiło.
Jedyną różnicę jaką dziś dostrzegam to ludzie, którzy korzystają z danej technologii. Próg wejścia w js jest mega mały więc średni poziom progamistów jest dość niski.
Weźmy takie c. Dość trudny, ale bardzo czytelny język. Ale ale. Był sobie taki konkurs. IOCCC. Doświadczeni programisci pobijali się w najmniej czytelnych konstrukcjach językowych. Js to przy tym pikuś. Zasada jest
@regis3:
~ Albert Einstein, 1844 r.
@regis3: Juƶ śpieszę Ci wytłumaczyć.
Python:
map(int, ['10', '10', '10'])
⟶[10,
.map(Number)
castuje do liczb,.map(Math.round)
castuje na liczbę, a potem zaokrągla.Int.Parse
jest jak najbardziej poprawną metodą zamiany string ⟶ int), a kod mylący.@KrzaQ2: ej serio szkoda mi czasu na takie spory. jestes zajebisty. To wypisz od razu jakie parametry przyjmują te funkcjei pogadamy. Też mogę parę języków wypisać.
Więc tak. W JS nie ma integera.
JavaScript:
['10','10','10'].map(Number) ⟶ [10, 10,