2016-11-16 5 views
3

В машинописном тексте существует какой-либо способ присвоить переменной тип универсального объекта. Вот что я имею в виду «универсального типа Object»Общий тип объекта в машинописном тексте

let myVariable: GenericObject = 1 // Should throw an error 
           = 'abc' // Should throw an error 
           = {} // OK 
           = {name: 'qwerty'} //OK 

т.е. он должен только разрешить JavaScript объекты должны быть отнесены к переменной и никакой другой тип данных (число, строка, логическое)

ответ

7

Конечно вещь :

type GenericObject = { [key: string]: any }; 

let myVariable1: GenericObject = 1; // Type 'number' is not assignable to type '{ [key: string]: any; }' 
let myVariable2: GenericObject = 'abc'; // Type 'string' is not assignable to type '{ [key: string]: any; }' 
let myVariable3: GenericObject = {} // OK 
let myVariable4: GenericObject = {name: 'qwerty'} //OK 

(code in playground)

2

на машинопись 2.2 вы можете использовать

let myVariable: object; 
Смежные вопросы