当サイトは、アフィリエイト広告を利用しています

TypeScriptでオブジェクトにプロパティを動的に割り当てる

作成日:2022月04月06日
更新日:2024年01月18日

typeScriptにて空オブジェクトを作成し、動的にプロパティを設定する方法をまとめる。
typeScritpでの型づけが崩れるため、javascriptと同様の方法ではコンパイルエラーになる。

インターフェースを定義する方法

ts
interface LooseObject {
[key: string]: any
}
var obj: LooseObject = {};
  • LooseObjectは、任意の文字列をキーとして、any型を値として持つフィールドを受け入れることができる

コンパクトにやる方法

ts
var obj: {[k: string]: any} = {};
obj.prop1 = "test"
obj.propArray = new Array();
obj.propArray.push("aa")
obj.propArray.push("bb")
console.log(obj)

objの中身

json
obj:{
prop1:"test",
propArray:["aa","bb"]
}

雑な方法

ts
var obj:any = {};
obj.prop1 = "test"
obj.propArray = new Array();
obj.propArray.push("aa")
obj.propArray.push("bb")
console.log(obj)

typescriptの型付に反しているため推奨はしない。

まとめ

基本的には型付けしておくことがベスト。
どうしようもない場合はコンパクトverを使う。

おまけ

javascriptだともっと簡単にできる。
普通にやる

ts
var user = {
id: 1,
name: "name",
};
user.country = "Japan";
user["language"] = "jp";
console.log("user", user);
// user Object {id: 1, name: "name", country: "Japan", language: "jp"}

参考

TypeScriptでオブジェクトにプロパティを動的に割り当てる方法を教えてください。

新着記事

タグ別一覧
top