20r6以降,クラスのプロパティ型をproperty
キーワードで宣言した場合,オブジェクト・コレクション・バリアント以外のプロパティにNull
を代入するコードは,シンタックスエラーが返されるようになりました。つまり,var
キーワードで宣言した変数と同じような扱いになります。過去バージョンでは,Null
を代入してもエラーになりませんでした。
クラスをインスタンス化した直後には,プロパティが未定義となっています。未定義であってNull
ではないことに留意してください。プロパティを未定義に戻したいのであれば,未定義の変数を代入することができます。
$object.myAttribute:="hello"
var $undefined // 初期化されていないバリアント型の変数は未定義
$object.myAttribute:=$undefined
プロパティそのものを消去したいのであればOB REMOVE
を使用してください。Null
を代入することによって未定義にできるのは,オブジェクト・コレクション・バリアント型の変数やプロパティだけです。