Цитата:
Тесты, написанные на js в консоле (вообще не представляю, как там можно написать больше 5-7 строк), в код можно перенести и оформить на ts. Все равно ведь в готовый код это переносится не копипастом. |
Цитата:
|
Цитата:
function getLength<T>(arg: T): number { return arg.length; } Просто франкенштейн какой-то. Программа должна быть оптимизированной на всех уровнях. Не понимаю зачем использовать какую-то непонятно излишнюю фукциональность, требующую значительно больших мощностей. Например, у нас есть информация, которая в одном формате весит 1 килобайт, а во втором формате - 1 мегабайт. Вот и спрашивается - нахрена мне второй формат?? Аналогий можно бесконечно приводить. |
Цитата:
|
Цитата:
Если еще будет мат - тему закрою. |
webgraph, фигню говоришь, как обычно.
Во-первых: voraa(и все остальные) говорят про скорость исполнения результирующего кода на клиенте. И она не отличается. Не может отличаться. Во-вторых: если говорить про скорость работы одного и того же человека с TS, против JS, то она выше, а не ниже. Если у тебя ниже, значит ты просто никогда не работал с TS, мелкие попытки потыкать - тут не играют роли. В-третьих: в TS мне надо думать на порядок меньше, чем в JS, а освободившиеся мощности всегда можно направить на что-то более полезное. |
Цитата:
Смотришь на это нечто и задаешься вопросом: «А что, собственно, эта хрень в ка-ве аргумента принимает?» Переписать эту функцию, например, так и все вопросы отпадают (3 варианта на выбор): function getLength(lengthAwareItem: { length: number }): number; function getLength(array: unknown[]): number; function getLength(item: unknown[] | { length: number }): number { return item.length; } |
Цитата:
|
Nexus, если по логике вещей удобно иметь какой-то тип, то в стандартной либе он скорее всего есть, начинай писать - IDE подскажет.)
function getLength(item: ArrayLike<unknown>): number { return item.length; } |
Цитата:
|
Часовой пояс GMT +3, время: 08:55. |