[!] Глоссарий - Алгебра (теория групп) понятия, определения, примеры - "что это такое" - Diffiety School (Матфак ВГУ)

Нельзя решить задачу, если она не поставлена
- (ↄ) В. К.

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

Линтер -- что это в программировании

Линтер -- программа, которая проверяет код на соответствие стандартам (правилам), в случае если находятся какие-то несоответствия линтер выводит сообщения об этом.

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

Примеры линтеров

React Hook React.useCallback has an unnecessary dependency: '...'. Either exclude it or remove the dependency array

Line 29:8: React Hook React.useCallback has an unnecessary dependency: 'sortByPriceDown'. Either exclude it or remove the dependency array. Outer scope values like 'sortByPriceDown' aren't valid dependencies because mutating them doesn't re-render the component react-hooks/exhaustive-deps

Для кода:

Expected an assignment or function call and instead saw an expression Ошибка

Проблема наблюдалась для тернарного оператора вида:

a ? b : c;

-- в JS так писать нельзя, нужно обязательно куда-то передать значение напр:

d = a ? b : c;

typescript Необязательные свойства (поля) объекта. Описание типа (react props)

После имени свойства просто добавляем знак вопроса (если этого свойства может не быть):

type SortSignPropsTypes = {
  onUp?: Function,
  onDown?: Function,
};

Потом эти свойства можно получить разложение объекта:

export default function SortSign(props: SortSignPropsTypes) {
  
  const {onUp, onDown} = props;

typescript Type '{}' is missing the following properties from type Ошибка

Причина

Проблема возникает, если вы не передаете свойство объекта, при том что оно обязательно.

Решение

Указывайте свойства, которых может не быть как необязательные.

vscode Горячие клавиши. Список

  • Автоформатирование:
    Shift + Alt + F
  • Переход к месту определения переменной/функции -- наиболее простой способ:
    • нажимаем на клавиатуре Ctrl
    • и, не отпуская Ctrl, кликаем левой кнопкой мыши по имени переменной/функции, к месту определения которой хотим перейти.
  • Возврат назад от определения переменной/функции -- по умолчанию это:
    Ctrl + Alt + - (Контрл Альт Минус)

typescript object type Тип свойства, ключа объекта. Как его задать

Например так:

type RootActionTypesListType = {
    [key: string]: string | null,
}
let RootActionTypes: RootActionTypesListType = {
    SET_GOODS_LIST_DATA: null,
    RESET_GOODS_LIST: null
};

-- такое определение поможет, если имя ключа будет содержаться в переменной и обращение к элементу будет происходить в виде:

RootActionTypes[keyVlue]

Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '...'. Ошибка

Получаем ошибку:

Element implicitly has an 'any' type because expression of type
 'string' can't be used to index type 'RootActionTypesListType'.
  No index signature with a parameter of type 'string' 
was found on type 'RootActionTypesListType'.  TS7053

    11 | 
    12 | for (const key of Object.keys(RootActionTypes)) {
  > 13 |     RootActionTypes[key] = 'ROOT_' + key;
       |     ^
    14 | }
    15 | RootActionTypes = Object.freeze(RootActionTypes);
    16 |

Для кода вида:

typescript Ключевое слово type. Где оно в документации

type служит для задания псевдонима для новых типов, при этом оно может использоваться и как замена для interface, например:

type GoodType = {
    id: number,
    name: string,
    price: string,
}

Официальная документация:

Pages

Subscribe to fkn+antitotal RSS