0

次のようにリテラルを宣言します。

var obj = {
    x: null,
    init: function (pX) {
        this.x = pX;
    }
};

異議?

x: undefinedまったく宣言しないのと同じなので、私はそれをしたいと思いxます。後で初期化するためにリテラル メンバーを宣言するときの良い方法は何ですか?

4

1 に答える 1

1

何らかの理由でプロパティをプレースホルダーとして存在させる必要がある場合は、他のものnullと同じくらい価値があります。初期化時に含まれる値とは十分に異なる任意の値を使用でき、それは同等です。

例:

var obj = {
  x: null,
  init: function (pX) {
    if (this.x == null) {
      this.x = pX;
    }
  }
}

プレースホルダーの値を確認する必要がない場合 (またはその他の奇妙な理由で)、プレースホルダーも必要ありません。値を代入してプロパティを作成することは完全に有効です。

var obj = {
  init: function (pX) {
    this.x = pX;
  }
}
于 2015-02-08T12:12:59.940 に答える