#javascript #typescript #typescript-typings
#javascript #typescript #typescript-typings
Вопрос:
У меня есть объект JavaScript, в котором хранится словарь слов:
var Words = {};
Words.Account="Account";
Words.Account_Login="Account Login";
Мое определение Typescript выглядит следующим образом:
declare class Words {
Account: string;
Account_Login: string;
}
Чтобы использовать его в моем TypeScript, я должен использовать «прототип». Как я могу не использовать prototype?
/// <reference path="../typings/words.d.ts" />
var abc = Words.prototype.Account_Login;
Ответ №1:
В вашем примере вы обращаетесь к Account_Login через класс Words, как если бы это была статическая переменная.
Если вы создаете класс Words
, я бы ожидал, что вы будете использовать его примерно так:
var myWords = new Words();
var abc = myWords.Account_Login;
Возможно, вместо определения класса вы хотите определить интерфейс, подобный следующему:
declare interface IWords{
Account: string;
Account_Login: string;
}
Затем, взяв свой объект Words, убедитесь, что вы используете интерфейс, который вы определили
var myWords = Words as IWords;
var abc = myWords.Account_Login;
Ответ №2:
@tj-Рокфеллер прав, я также обнаружил, что если бы я просто сделал слова статическими, я мог бы использовать их по назначению.
var Words = {};
static Words.Account="Account";
static Words.Account_Login="Account Login";
Комментарии:
1. Это должно быть ответом?