Pythonでは、未知の属性をプログラム的に解くことができるように、__getattr__(self,key)
メソッドを持つオブジェクトを定義できますが、javascriptでは事前定義された属性に対してのみgetterとsetterを定義できます。以前のことをjavascriptでもやってしまう一般的な方法はありますか?pythonの__getattr__メソッドに相当するjavascriptはありますか?
サンプルコードのようななめらかになります:
function X() {};
X.prototype={
__getattr__:function(attrname) {
return "Value for attribute '"+attrname+"'";
}
}
x=new X()
alert(x.lskdjoau); // produces message: "Value of attribute 'lskdjoau'"
キーポイントは、属性の名前に応じて、プログラム属性の値を取得しています。プリセット属性は、initの間に要求される可能性がある情報がないために役立ちません。
ありがとうございます。はい、むしろ__getattr__になります –
@Roatin WHY !!!! JSは他のどの機能よりもこの機能を必要としています(人々が10年以上要求してきた「吸う」機能を除く)。 – orokusaki