В обектите на JavaScript ключовата дума constсе използва, за да направи даден обект константа. Константа означава, че стойностите в обекта не трябва да могат да се актуализират, добавят или изтриват. Но константите, които създаваме с ключовата дума const, не са действителни константи. Да вземем пример

конст

Тук myDetailsobejct е нормален constобект. Ако се опитаме да актуализираме, добавим ново свойство или изтрием някои съществуващи свойства на този обект, можем да видим, че това е възможно нещо. Така че това не е действителна константа.

Има някои методи, които можем да използваме, за да направим даден обект истинска константа. Нека видим един по един.

Обект.печат

Това е метод, който можем да използваме за запечатване на обекта. Методът на запечатване прави обекта по-устойчив на промяна. Object.seal(myDetails)не позволява на обекта да изтрие своето свойство или да добави ново свойство.

Така че с метода на печат добавянето на нова собственост или изтриването на съществуваща собственост вече не е възможно. Но все пак актуализирането на съществуваща собственост е възможно.

Обект.замразяване

Този метод се използва за замразяване на обект. Това е най-подходящият метод да направите обект реална константа. Методът на замразяване не позволява добавяне на нова собственост, изтриване на собственост или дори актуализиране на съществуваща собственост.

Така че с Object.freeze(myDetails),можем да създадем истинска константа. Сега не може да добавя, изтрива или актуализира свойства на обекта.

Заключение

Ключовата дума const не създава реални константи за обекти. Методът seal и методът freeze се използват за постигане на това в константите на js обекти. Методът Seal не позволява добавяне или изтриване, но позволява актуализиране. Методът на замразяване не позволява добавяне, изтриване или актуализиране. Така че методът на замразяване прави истинска константа.

  • * Специална забележка: Този метод на запечатванеи замразяване ще работи само на първото ниво на обекта. Ако трябва да отидете на следващото ниво, трябва да накарате следващото ниво да се запечата или замрази. Пример: Object.freeze(myObj.child)

Свържете се с нас

Linkedin -› https://www.linkedin.com/in/tharaka-udayanga-61a424166/