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

JavaScriptのObject.seal()とObject.freeze()の違いは何ですか?


Object.seal()の違い およびObject.freeze() 前者はオブジェクトの既存のプロパティへの変更を許可できますが、後者はオブジェクトへの変更を許可しません。 Object.freeze() オブジェクトを耐性にします 何にでも、わずかな変更でも変更することはできません。

Object.seal()

Object.seal() メソッドは既存のプロパティの削除を排除しますが、外部の変更から既存のプロパティを保護することはできません。

次の例では、 Object.seal()が原因です。 メソッドユーザー定義プロパティ「prop1」は、deleteメソッドが適用されても削除されませんが、プロパティ「prop1」の値のみが更新されます。

<html>
<body>
<script>
   var object1 = {
      prop1: 1
   };
   Object.seal(object1);
   object1.prop1 = 2; // value got changed
   delete object1.prop1;
   document.write(object1.prop1); // it gives value as 2 because of seal.
</script>
</body>
</html>

出力

2


Object.freeze()

Object.seal()の機能に加えて 、 Object.freeze() メソッドでは、オブジェクトの既存のプロパティをわずかに変更することもできません。

<html>
<body>
<script>
   var object1 = {
      prop1: 1
   };
   Object.freeze(object1);
   object1.prop1 = 2; // value got updated
   delete object1.prop1; // value got deleted
   document.write(object1.prop1); // it gives 1 as output despite value updated to 2
</script>
</body>
</html>

出力

1

  1. JavaScriptの関数とメソッドの違いは何ですか?

    JavaScriptでも関数とメソッドは同じですが、メソッドはオブジェクトのプロパティである関数です。 以下はJavaScriptの関数の例です- function functionname(param1, param2){    // code } 例 メソッドはオブジェクトに関連付けられた関数です。以下はJavaScriptのメソッドの例です- <html>    <head>       <script>          var e

  2. JavaとJavaScriptの違いは何ですか?

    Web開発者のJeremyKeithが2009年に述べたように、「JavaはJavaScriptに、ハムはハムスターになります」。そのアナロジーの正確さは議論の余地がありますが、その背後にある精神は確かです。JavaとJavaScriptは、共通の言語ルートを共有しているにもかかわらず、2つの非常に異なるプログラミング言語です。何年にもわたって、それらはもう少し重複するようになりましたが、JavaScriptは、Webサイトをインタラクティブにする主要なフロントエンド言語であり続け、Javaはサーバーサイドおよびアプリケーションプログラミングで引き続き人気があります。開発者を雇ったり、コーディ