Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptオブジェクトでプロパティを定義する際の列挙可能な属性の重要性は何ですか?


プロパティを定義できます ドットを使用したオブジェクトの およびブラケット 表記。 Object.defineProperty()と呼ばれるプロパティを使用する別の方法もあります。 プロパティを定義するために使用されます。通常、オブジェクト名、プロパティ名、プロパティ記述子の3つのパラメータを取ります。

構文

Object.defineProperty(object name, property name, property descriptor)

このメソッドでプロパティを定義しましょう。

次の例では、最初、オブジェクトには「 one」という名前のプロパティが1つだけあります。 '。後で、「 two」という名前の別のプロパティ 'が追加されます。すべてのプロパティを表示しようとすると、最初のプロパティのみが表示され、出力に示されているように追加されたプロパティは表示されませんでした。

<html>
<body>
<script>
   var object = {one: 1};
   Object.defineProperty(
      object,
      'two', {
         value: 2
       }
   );
   document.write(JSON.stringify(object));
</script>
</body>
</html>

出力

{"one":1}

これはすべて「列挙可能」によるものです "属性。"列挙可能 「オブジェクトのプロパティを定義するには、属性がtrueである必要があります。ただし、「列挙可能 "は値"false"を取ります 宣言されていない場合。したがって、値を「 true」にするため 「列挙可能を宣言する必要があります 「」と「true」を割り当てる必要があります それに

次の例では、「列挙可能 "が初期化され、値が trueとして割り当てられます 、すべてのプロパティが出力に示されているように表示されました。

<html>
<body>
<script>
   var object = {one: 1};
  Object.defineProperty(
   object,
   'two', {
      value: 2,
      enumerable: true
   }
);
document.write(JSON.stringify(object));
</script>
</body>
</html>

出力

{"one":1,"two":2}

  1. javascriptでのOBJECT.assign()の使用は何ですか?

    Object.assign()メソッドは、オブジェクト自体のすべてのプロパティ(列挙可能のみ)の値を1つ以上のソースオブジェクトからターゲットオブジェクトにコピーするために使用されます。ターゲットオブジェクトを返します。 例 const targetObj = { a: 1, b: 2 }; const sourceObj = { b: 4, c: 5 }; const returnedTarget = Object.assign(targetObj, sourceObj); console.log(targetObj); console.log(returnedTarget); consol

  2. JavaScriptでの.stackプロパティの使用は何ですか?

    Errorオブジェクトのstackプロパティは、どの関数がどの順序で、どの行とファイルから、どの引数で呼び出されたかのトレースを提供します。スタック文字列は、最新の呼び出しから以前の呼び出しに進み、元のグローバルスコープ呼び出しに戻ります。これは、Javaのスタックトレースに似ています。 例 function a() {    throw new Error("error"); } try{    a() } catch(e) {    console.log(e.stack) } 出力 これにより、出力が得られ