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

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


Object.freeze()の違い およびconst 前者は可変性を防ぐということです 一方、後者は可変性を妨げません。理解を深めるために、個別に話し合いましょう。

定数

定数 動作はletと同じです 。 constを使用して変数が定義されたら 再割り当てすることはできません 。 Constによって宣言された変数 ブロックスコープ 関数スコープではありません varで定義されています 。

constの主な欠点 キーワードは、オブジェクトの可変性を妨げないということです。 。オブジェクトがconstを使用して定義されている場合でも、オブジェクトのプロパティを変更できます。 。これは可変性と呼ばれます 。 constを使用して割り当てられた変数は、再度割り当てることができないという一般化があります。ただし、オブジェクトが constを使用して定義されている場合 、そのプロパティは変更できます。そのシナリオでは、可変性を防ぐためにconstを回避することをお勧めします 。

次の例では、最初はプロパティ「country」の値は「India」です。ただし、変数がconstを使用して割り当てられている場合でも、後で値がEnglandに変更されます。

<html>
<body>
<script>
   const person = {
      "name" : "Suresh",
      "Country" : "India",
      "Designation" : "Mayor"
   }
   person.Country = "England"
   document.write(person.Country);
</script>
</body>
</html>

出力

England

Object.freeze()

このメソッドは不変性を提供します 。オブジェクトが凍結されたら 、そのプロパティは変更できません。

以下では、プロパティ「country」の値が「India」から「England」に変更された場合でも、不変性のために 値「インド」はその場所を保持します。

<html>
<body>
<script>
   const person = {
      "name" : "Suresh",
      "Country" : "India",
      "Designation" : "Mayor"
   }
   Object.freeze(person);
   person.Country = "England"
   document.write(person.Country);
</script>
</body>
</html>

出力

India


  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はサーバーサイドおよびアプリケーションプログラミングで引き続き人気があります。開発者を雇ったり、コーディ