2013-03-25 4 views
1

Просто для удовольствия я решил посмотреть на TypeScript.машинопись: нетипизированный массив

У меня есть один вопрос (до сих пор); учитывая следующую машинопись код ...

class EP { 

    id: number; 
    TY: string; 

    constructor(id: number, ty: string) { 
    this.id = id; 
    this.TY = ty; 
    } 

} 

и следующий код машинописи ...

var ep = new EP(1, "Yes"); 
var x = [ep.id, ep.TY]; 

JavaScript будет видеть это как действительный, однако машинопись жалуется на «Несовместимые типах в буквальном выражении массива» , Как я должен аннотировать «x», чтобы очистить эту ошибку?

Для тех, кто заинтересован, мне нужно создать массив для передачи значений в SQLite.

Кроме того, что бы синтаксис такой же при использовании этого в качестве параметра в вызове функции, например, как SQLite вставки ...

db.transaction.executeSql("...", [ep.id, ep.TY], ...); 

спасибо.

ответ

5

Попробуйте any[] для вашего типа массива.

+0

Можете ли вы уточнить; Я думал, что это что-то вроде этого, но, похоже, не может найти синтаксис. любой [ep.id, ep.TY], по-видимому, неверен в соответствии с детской площадкой. –

+1

'var x: any [] = [ep.id, ep.TY];' – Jacob

+1

[ссылка для игровой площадки] (http://www.typescriptlang.org/Playground/#src=class%20EP%20%7B%0A % 0A% 20% 20id% 3A% 20number% 3B% 0A% 20% 20TY% 3A% 20string% 3B% 0A% 0A% 20% 20constructor (ID% 3A% 20number% 2C% 20ty% 3A% 20string)% 20% 7В% 0A% 20% 20% 20% 20% 20this.id% 3D% 20id% 3B% 0A% 20% 20% 20% 20% 20this.TY% 3D% 20ty% 3B% 0A% 20% 20% 7D% 0A% 0A% 7D% 0A% 0Avar% 20ep% 20% 3D% 20new% 20EP (1% 2C% 20% 22Yes% 22)% 3B% 0Avar% 20x% 20% 3A% 20any% 5B% 5D% 20% 3D % 20% 5Bep.id% 2C% 20ep.TY% 5D% 3B% 0A) –

Смежные вопросы