typescript ×57
Создан 05.01.2025
0
голоса
1
ответов
33
просмотров
Опциональные параметры на основе условных типов

Проблема с обязательными и необязательными параметрами функции в TypeScript

Я пытаюсь реализовать функцию в TypeScript, которая будет иметь обязательные или необязательные параметры в зависимости от условных типов. Однако мне не удается достичь желаемого результата. Вот что у меня есть на...

0
голоса
1
ответов
18
просмотров
Опциональные свойства, зависящие от других свойств

У меня есть следующая проблема с интерфейсом Typescript:

interface Sample {
    key1: boolean;
    key2?: string;
    key3?: number;
};

В данном случае key1 всегда обязателен, key2 всегда опционален, а key3 должен присутствовать только если key1 равно true, и должен...

0
голоса
1
ответов
44
просмотров
Что такое типы в TypeScript?

Я новичок в Angular2, и мне это нравится, но у меня есть одна проблема: типы. Я не могу понять, как их использовать и что именно они собой представляют. В некоторых источниках говорят, что нужно использовать typings, в других — что следует устанавливать определения через npm.

Я в...

0
голоса
1
ответов
12
просмотров
TypeScript: Разница между возвращаемым типом void и Promise<void> для асинхронных функций

Вопрос: В чем разница между типами void и Promise в TypeScript?

Я запутался, почему следующий код является допустимым в TypeScript:

const asyncFunc: () => void = async () => {
    await new Promise(resolve => resolve());
};

Неужели это не должно быть допустимо только в...

0
голоса
0
ответов
11
просмотров
'ts-loader' против 'awesome-typescript-loader' [закрыто]

Заголовок: Закрытый вопрос о различиях между двумя загрузчиками

Тело: Вопрос был закрыт. Он требует более узкой формулировки и в данный момент не принимает ответов.

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

0
голоса
3
ответов
16
просмотров
Как использовать enum в компоненте Angular

Проблема с глобальным состоянием в Angular-компонентах

Я использую Angular и столкнулся с проблемой управления глобальным состоянием (или "режимом") в своих компонентах. Я ищу более эффективный способ реализации данной задачи. Вот что я попытался сделать:

@Component({
 ...
0
голоса
2
ответов
14
просмотров
Как создать заглушку для интерфейса / определения типа в TypeScript?

Я работаю с Typescript в проекте на AngularJS 1.X и использую различные JavaScript-библиотеки для разных целей. Для юнит-тестирования моего исходного кода я хотел бы замокать некоторые зависимости, используя типы (интерфейсы). Я не хочу использовать тип ANY и не хочу писать пустое тело для каждого...

0
голоса
5
ответов
14
просмотров
Компилятор Angular требует TypeScript версии >=2.7.2 и <2.8.0, но найдена версия 2.8.3

Я начал получать следующую ошибку в своем приложении на Angular:

Компилятор Angular требует TypeScript версии >=2.7.2 и <2.8.0, но найдена версия 2.8.3.

Когда я пытаюсь понизить версию TypeScript до нужной, выполняя команду:

npm install -g typescript@2.7.2

то в выводе пишется, что...

0
голоса
3
ответов
26
просмотров
Ошибка в Angular 6: 'filter' не существует в типе 'Observable<Event>' при использовании router.events

Я обновил своё приложение до Angular 6 (прежде оно было на версии 5.2).

При этом у меня возникла ошибка в синтаксисе:

import { Router, ActivatedRoute, NavigationEnd } from '@angular/router';
import { filter } from 'rxjs/operators';
...
constructor(private router: Router)...
0
голоса
2
ответов
17
просмотров
TypeScript: Декоратор для функции, а не метода. Возможно?

Я пытаюсь добавить пользовательский декоратор TypeScript в функцию, которая не входит в класс, и похоже, что компилятор выдает ошибки, независимо от того, что я делаю.

Есть ли какие-либо мысли по этому поводу? Это возможно?

0
голоса
5
ответов
16
просмотров
ESLint: 8.0.0 Не удалось загрузить плагин '@typescript-eslint'

Описание проблемы

Здравствуйте! Мне нужна помощь. Я получаю следующую ошибку при попытке собрать проект:

Oops! Something went wrong! 😦

Версия ESLint: 8.0.0

Ошибка:

TypeError: Failed to load plugin '@typescript-eslint' declared in 'src.eslintrc': Class extends value undefined...
0
голоса
1
ответов
12
просмотров
Типизация массива пар ключ-значение в TypeScript

Я запутался относительно следующего объявления:

constructor(controls: {[key: string]: AbstractControl}, optionals?: {[key: string]: boolean}, validator?: ValidatorFn, asyncValidator?: AsyncValidatorFn)

Какой тип у параметра controls (первый параметр)? Это объект,...

0
голоса
3
ответов
12
просмотров
Как в TypeScript типизировать объект с известными и неизвестными ключами?

Я ищу способ создать типы TypeScript для следующего объекта, который имеет два известных ключа и один неизвестный ключ с известным типом:

interface ComboObject {
  known: boolean;
  field: number;
  [U: string]: string;
}

const comboObject: ComboObject = {
  known: true,
  field:...
0
голоса
1
ответов
13
просмотров
Как импортировать assert из Node.js в TypeScript 2.0 / ES2015?

Я использую TypeScript версии 2.0.3, с конфигурацией, установленной на "target": "es2015". Начал с этого кода:

/// <reference path="../../node_modules/@types/node/index.d.ts" /> import assert = require('assert');

Однако, в Visual Studio это вызывает предупреждение с подсказкой: Import with...

0
голоса
1
ответов
16
просмотров
Как определить тип свойства у значения `unknown`?

У меня есть следующая функция, которая может принимать значение неизвестного типа:

function formatReason(detail: unknown): string {
    if (detail 
        && detail instanceof Object 
        && detail.constructor.name === 'Object' 
        && detail.hasOwnProperty('description') 
 ...
0
голоса
3
ответов
15
просмотров
Получение высоты элемента в Vue.js

Проблема с получением высоты элемента в JavaScript

Я пытаюсь получить высоту одного блока (div), чтобы установить одинаковую высоту для другого блока. Я использовал метод clientHeight, но он возвращает неправильное значение (меньшую высоту). Похоже, что он возвращает высоту до полной...

0
голоса
1
ответов
13
просмотров
JSDoc аналог `as const` в TypeScript?

У меня есть старая проблема в большом проекте, который слишком велик, чтобы легко переводить его на TypeScript, поэтому я использую JSDoc вместо этого. Однако есть одна особенность TypeScript, которую я не могу воспроизвести в JSDoc — это использование as const, которое позволяет полностью...

0
голоса
2
ответов
16
просмотров
Разница между ViewEncapsulation.Native, ViewEncapsulation.None и ViewEncapsulation.Emulated в Angular

Вопрос: Разница между ViewEncapsulation.Native, ViewEncapsulation.None и ViewEncapsulation.Emulated в Angular 2

Может кто-то объяснить, в чем разница между ViewEncapsulation.Native, ViewEncapsulation.None и ViewEncapsulation.Emulated в Angular 2?

Я пытался загуглить и почитать статьи,...

0
голоса
4
ответов
17
просмотров
Jest: Ошибка "SyntaxError: Unexpected token <" при использовании require для SVG

Не уверен, куда обратиться по поводу этой ошибки.

Использую Typescript с React, а для юнит-тестирования — Jest и Enzyme.

Пример файла package.json:

"scripts": {
    "start": "node server.js",
    "bundle": "cross-env NODE_ENV=production webpack -p",
    "test": "jest"
  },
  "jest": {
  ...
5
голоса
5
ответов
48
просмотров
Переопределение типа свойства интерфейса, определённого в файле d.ts TypeScript

Есть ли способ изменить тип свойства интерфейса, определенного в файле *.d.ts в TypeScript?

Например, в файле x.d.ts интерфейс определен так:

interface A { property: number; }

Я хочу изменить его в своих TypeScript файлах на:

interface A { property: Object; }

Или даже так:

interface B...