Обновить
0
0

fullstack — Java, js/ts, Angular

Отправить сообщение

По первому примеру. Чтобы не возникало подобных коллизий, можно внедрить номинальную типизацию вместо структурной, это хорошо помогает в сложных системах. Например, так
```

declare const BrandA: unique symbol;

class A {
    [BrandA]!: void;

    name = 'John';
}

function getName(obj: A): string {
    return obj.name;
}

// no error
getName(new A()); 

/** @throws compile error: 
 * <b>Argument of type '{ name: string; }' is not assignable to parameter of type 'A'.
 *   Property '[BrandA]' is missing in type '{ name: string; }' but required in type 'A'</b>
 */
getName({name: 'name'});

Да, спорных вещей в Typescript хватает. Некоторую функциональность, имхо, не стоило вообще добавлять, например, declaration merging.
```

interface A {
    getFromInterface(): string;
}

class A {
    getFromClass(): string {
        return ''
    }
}

new A().getFromInterface();

ошибки компиляции не будет)) Рантайм, конечно, все очевидно)

Явно не сказано, но автор пишет тесты на jest. Просто уточняю, так как плагин для есть и для jasmine - jasmine-auto-spies. Почему то ни слова про Spectator.

Кажется статья сравнивает 'prop-drilling'(считается антипаттерном) и 'pub-sub' подходы. В Angular проектах(и вообще FE-мире ) последствия активного использования 'prop-drilling' достаточно хорошо известны. В Angular такого рода проблемы решают через возможности DI и RxJs(можно сигналы).

Не совсем понятно, какая версия имеется ввиду. AngularJs(первая версия, без typescript) - практически не используется, Angular 2+(и выше, текущая - 19 версия) - вполне себе используется.

Можно ради интереса попробовать обобщить


playground

В Typescript, просто, есть 2 типа контрактов - `type` и `interface`. И у них есть различия в функционале.

типы гибче, например здесь интерфейс не может, а тип может:

type C = { a: 12 }
interface A { [key in keyof C]: 12}
type B = { [key in keyof C]: 12 }

На Убунту через OpenVPN все норм.

На треть дешевле сама приставка, но самое главное – игры в разы дешевле через Аргентину/Турцию. Есть подписка, где в день релиза можно во многие игры поиграть(тоже можно дешево оформить), я правда, не делал – мне не нужно. Полноценный браузер с поддержкой клавы и мыши. Вобщем, на мой взгляд, соньку имеет смысл брать, если прям эксклюзивы(Uncharted и тп.) нужны.

Значит, я правильно сделал, что Xbox series X взял ))

3. Больше практики… Возобновить работу над игрой.

Возможно стоит перейти с js на typescript. И, да, стоит прочитать книгу Резига(John Resig) в последнем издании(если еще не читали).
4. Продолжить решать задачи от SQL-EX и начать разбираться в оптимизации запросов.

Очень неплохой курс Артема Навроцкого(на youtube).

Информация

В рейтинге
Не участвует
Откуда
Нижний Новгород, Нижегородская обл., Россия
Дата рождения
Зарегистрирован
Активность