Подтвердить что ты не робот

Объявление нескольких переменных TypeScript с одним и тем же типом

Я кодирую большой класс TypeScript, и я установил noImplicitAny в true. Есть ли способ объявить несколько переменных одного и того же типа в одной строке?

Я хотел бы объявить x и y как числа с чем-то вроде "x, y: number". Но компилятору это не нравится или что-то еще, что я пробовал. Есть ли лучшая альтернатива "x: number; y: number"?

4b9b3361

Ответ 1

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

Ответ 2

Просто добавив это, даже если вы делаете следующее:

let notes, signatureTypeName: string;

это все еще не работает. В этом случае notes объявляется как тип any, а signatureTypeName - как строка типа. Вы можете проверить все это, просто наведя указатель мыши на переменную, например, в коде Visual Studio. Объявленный тип появляется затем во всплывающем окне.

Ответ 3

Да, вы можете сделать это так :-) в одну строку

public AcccountNumber: number;public branchCode:number;

Пожалуйста, не отрицайте мое чувство юмора :-)

Ответ 4

например, пусть isFormSaved, isFormSubmitted, загрузка: boolean = false; этот синтаксис работает только в функциональном блоке, но не вне его в файле класса экспорта машинописного текста. Не уверен, почему это так.

Например:

export class SyntaxTest {

public method1() {
    e.g. let isFormSaved, isFormSubmitted, loading: boolean = false;
}

}

Ответ 5

Если вы можете принять переменную-сирота. Array destructuring может это сделать.

var numberArray:number[]; //orphan variable
var [n1,n2,n3,n4] = numberArray;
n1=123; //n1 is number
n1="123"; //typescript compile error

Обновление: Вот код Javascript, созданный при настройке ECMAScript 6.

var numberArray; //orphan variable
var [n1, n2, n3, n4] = numberArray;
n1 = 123; //n1 is number

Код JS, созданный при настройке ECMAScript 5, как сказал Луис ниже, это не очень.

var numberArray; //orphan variable
var n1 = numberArray[0], n2 = numberArray[1], n3 = numberArray[2], n4 = numberArray[3];
n1 = 123; //n1 is number

Ответ 6

let notes: string = '', signatureTypeName = '';