まだ存在しないライブラリ用の宣言ファイルを作成していますが、読み込み専用の属性を持つクラスがあります。私はそれを宣言にどのように置くことができますか?宣言ファイルにreadonly属性を追加するにはどうすればよいですか?
5
A
答えて
5
奇妙なことに、インターフェイスや環境宣言でゲッターとセッターを指定することはできません。
あなたが得ることができる最も近いです:
interface Test {
Prop: number;
}
class Example implements Test {
private prop: number;
get Prop() :number {
return this.prop;
}
}
残念ながら、これはセッターを許すから実装を妨げるものではないと周囲宣言のコンテキストでは、設定しようとするから、呼び出し元を妨げません値。あなたは今、読み取り専用プロパティを宣言することができ活字体2.0で
2
は、例えば
interface Point {
readonly x: number;
readonly y: number;
}
var p1: Point = { x: 10, y: 20 };
p1.x = 5; // Error, p1.x is read-only
var p2 = { x: 1, y: 1 };
var p3: Point = p2; // Ok, read-only alias for p2
p3.x = 5; // Error, p3.x is read-only
p2.x = 5; // Ok, but also changes p3.x because of aliasing
は詳細についてhereを参照してください。
関連する問題
- 1. CXF - 属性を宣言するにはどうすればいいですか?
- 2. ファイルから単一の属性(ReadOnlyなど)を削除するにはどうすればよいですか?
- 3. カスタム属性を追加するにはどうすればよいですか?
- 4. JavaScript:属性を追加するにはどうすればよいですか?
- 5. XML属性を追加するにはどうすればよいですか?
- 6. 仮想属性にActiveRecord属性ヘルパーメソッドを追加するにはどうすればよいですか?
- 7. 携帯電話でreadonly属性を使用するにはどうすればよいですか?
- 8. Hybrisのitems.xmlで "HybrisEnumValue"タイプの属性を宣言するにはどうすればいいですか?
- 9. ASP.NETコントロール宣言のプロパティに改行を追加するにはどうすればよいですか?
- 10. 複数の名前空間宣言をXDocumentに追加するにはどうすればよいですか?
- 11. 返す前にデータベースクエリに属性を追加するにはどうすればよいですか?
- 12. どのようにXML宣言を追加できますか?
- 13. Wicketでコンポーネントを追加せずに属性を変更するにはどうすればよいですか?
- 14. 別のテーブルの新しい属性をシリアライザに追加するにはどうすればよいですか?
- 15. ElementMakerで要素に属性を追加するにはどうすればよいですか?
- 16. JavaScriptイベントに属性を追加するにはどうすればよいですか?行レベルで
- 17. SavonでSOAPヘッダーに属性を追加するにはどうすればよいですか?
- 18. javascriptを使用してテキストボックスに属性を追加するにはどうすればよいですか?
- 19. Gridviewのitemtemplate内のコントロールにコードを使用してreadonly属性を追加するにはどうすればよいですか?
- 20. XmlArray要素(XMLシリアル化)に属性を追加するにはどうすればよいですか?
- 21. PostSharp属性に引数を追加するにはどうすればよいですか?
- 22. nvd3円グラフにtabindex属性を追加するにはどうすればよいですか?
- 23. F#型のパブリックメソッドに属性を追加するにはどうすればよいですか?
- 24. ユーザーコレクションに余分な属性を追加するにはどうすればよいですか?
- 25. d3.jsのsvgサブグループに変換属性を追加するにはどうすればよいですか?
- 26. カスタム属性をform_forに追加するにはどうすればよいですか?
- 27. XSD:属性に制限を追加するにはどうすればよいですか?
- 28. RegularExpression属性にmultilineオプションを追加するにはどうすればよいですか?
- 29. インスタンス属性をサブクラスに追加するにはどうすればよいですか?
- 30. Railsモーダルウィンドウリンクにデータ属性を追加するにはどうすればよいですか?
ライブラリー(WebオーディオAPI)ではなく、宣言ファイルを参照していませんでした;) – Eindbaas
答えがありましたら、誰かが<5のターゲットプロジェクトで宣言ファイルを使用した場合どうなりますか? – Eindbaas
TypeScriptはECMAScript 5以上でgetとsetしか使用できません。この制限は定義にも当てはまると思います。読み取り専用プロパティの概念は存在しません。 – Fenton