Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как жить без типов тому кто пришел с других языков (https://javascript.ru/forum/misc/50863-kak-zhit-bez-tipov-tomu-kto-prishel-s-drugikh-yazykov.html)

spin 14.10.2014 22:51

Как жить без типов тому кто пришел с других языков
 
Добрый день всем

Только начал изучать JS.
И вот что меня беспокоит, так это отсутствие типов.
В других языках типа джавы меня компилятор или даже IDE
предупреждает об ошибке с типами.

А тут я узнаю об ошибке только на рантайме.
Даже хуже того, могу и не узнать сразу.

Типичные ошибки, которые меня уже бесят
- передал параметр не того типа
- параметры не в том порядке (и типы перепутаны)
- забыл передать параметр
- передал лишний параметр
и т.д.

здесь под словом "типы" имею в виду типы в понимании других языков,
т.е сущности.

Вобщем, вопрос, как жить-то ?
Каждый раз в каждой функции писать код проверки
наличия свойств и т.д. - это умереть можно имхо.

Есть ли какие-то общепринятые практики, как с этими ошибками борются ?

Aetae 14.10.2014 22:56

JSDoc и ide будет тебя поправлять.
TypeScript если совсем тяжко.

Вообще, те кто привыкли без типов - ошибок с типами и не допускают в основном, ибо мозг не надеется на компилятор.)

MallSerg 14.10.2014 23:37

Дальше будет страшнее когда захочешь понять приведение типов в JS =)
http://youtu.be/eVpVHGiELf8?t=1m14s
http://www.youtube.com/watch?v=et8xNAc2ic8

MallSerg 20.10.2014 06:11

foo Хватит прятатся под разными аккаунтами =) твой стиль постинга легко определяется по содержанию =)
<iframe src="http://coub.com/embed/1nlxz?muted=false&autostart=true&originalSize=false&hideTopBar=false&startWithHD=false" allowfullscreen="true" frameborder="0" width="480" height="270"></iframe>

terminator-101 20.10.2014 06:52

Цитата:

Сообщение от spin
отсутствие типов

Отсутствие статических типов, ты хотел сказать? Типы в js есть.
Цитата:

Сообщение от spin
здесь под словом "типы" имею в виду типы в понимании других языков,
т.е сущности.

Ни хрена не понятно, о чем ты. Ничем динамические типы не отличаются от статических, кроме проверки в компилтайме. Какие нахрен сущности?


Часовой пояс GMT +3, время: 02:10.