Открыть список
Как стать автором
Обновить

Комментарии 17

Тот, кто пользовался TypeScript, видел этот синтаксис в инструкциях import.

Импорты это импорты, а destructuring assignment это destructuring assignment
Мы не можем писать что-то в стиле
import { get : lodashGet } from 'lodash';
//или
const {name as newName} = myObj;
У вас в загловке опечатка.
Должно быть:
11 рандомных, местами вредных, местами бесполезных, фич тайпскрипта, о которых вы скорее всего и так уже знаете, но я всё равно о них напишу, чтобы набрать классы.

Написал некто без единой публикации в профиле, зато с кучей комментариев.

по-моему тоже часть из них можно отнести скорее ко вредным советам, замена «Math.floor» на "~~"? "!!" мне кажется тоже скорее вредно, да, может удобно, но как-то попахивает
"!!" хорош до тех пор, пока при случайной опечатке не станет !, и вот тогда веселье гарантировано. Поэтому таки Boolean(value), а не "!!".
Ну наконец-то!
А то ощущение что весь интернет советует этот жуткий "!!" вместо явного и безопасного приведения
«явное лучше неявного» (с) Дзен питона
Не только питона, кстати. Golang вообще построен по такому принципу изначально. Оттого там и наследования поведения нет, и исключений тоже

Это такой привет от cишников в мир TS/JS

Ну так уж совсем жестко. Статья-то норм, хотя, по большей части капитанская. Всем из этого я пользуюсь (почти), но да, вещи типа ~~ в коде встречаться, имхо, не должны. И конструкторы я использую как конструкторы, а не блок для объявления переменных. Как мне кажется, переменные должны объвляться там, где им место, а в конструкторе инициализироваться, если это необходимо. Остальное… ну, кому-то будет полезным почитать, а вообще это в первых главах любой книжки рассказывают. Но кто-то книжек не читает, а потому такая инфа может пригодиться. ;)
Есть ещё оператор?..

Его суть

let a = {};
Object {  }

a?.b	--> undefined
a?.b?.c	--> undefined
a.b	--> undefined
a.b.c	--> Uncaught TypeError: a.b is undefined


Но. ИМХО, перегружать язык кучей «синтаксического сахара» — это путь в никуда.
но и писать что-то вроде
if (a && a.b && a.b.c) ... 

тоже как-то не очень…
Другой вопрос, что если такое нужно писать — возможно, что-то не так с проектированием).

Кстати, не последнее значение имеют версии браузеров, с которых это все великолепие начинает работать.


И если для ритейла, или по другому выражаясь, общего WEB'а это не очень критично, то для корпоративного сегмента очень.

Ну в целом в 2020 м году такой проблемы уже не стоит, есть же транспиляторы, Typescript тот же самый, ну или Babel, так что можно на выходе хоть под ie 10 получить совместимый код

9. Параметры функций, которые могут иметь значения, назначаемые по умолчанию


Не забывайте указывать, что значения по умолчанию применяются только в двух случаях:
— значение не передано;
— передано значение undefined;
Другими словами, если передать в функцию параметр null, 0, false, '' — то параметр по умолчанию не применится.
Поздравляю автора с тем, что он изучил JS на уровне джуна, можно брать на галеру юнгой. Советую так же определиться, о чем статья — о TS или JS, иначе могут быть неприятные сюрпризы для тех, кто решит воспользоваться этими знаниями — например, в виде удара по рукам линтером TS при попытке использовать битовые операторы.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Информация

Дата основания
Местоположение
Россия
Сайт
ruvds.com
Численность
11–30 человек
Дата регистрации
Представитель
ruvds

Блог на Хабре