JavaScript Object.freeze()

ການອະທິບາຍ ແລະ ການນໍາໃຊ້

Object.freeze() ວິທີການທີ່ນຳໃຊ້ຫຼີກລ່ຽງການປ່ຽນແປງບັນດາວັດຖຸ

ໃນຮູບແບບບໍ່ສຸດທ້າຍObject.freeze() ວິທີການຈະຫາຍສາຍຢ່າງສັບສົນ

ໃນຮູບແບບຂັ້ນຕອນສຸດທ້າຍObject.freeze() ວິທີການຈະປາກວດ TypeError.

ບັນດາວັດຖຸທີ່ຖືກຫຍັງແມ່ນຂໍ້ມູນອ່ອນນວນ. ບໍ່ອະນຸຍາດແກ້ໄຂ, ຕິດຕັ້ງຫຍັງຫຍັງ ຫຼືລຶບປະສົມປະກອງ

ສາມາດນຳໃຊ້ Object.isFrozen() ວິທີການທີ່ພິຈາລະນາວ່າບັນດາວັດຖຸຈະຖືກຂັດຂວາງຫຍັງ

ວິທີການທີ່ກ່ຽວຂ້ອງ

Object.preventExtensions() ອະນຸຍາດແກ້ໄຂ ແຕ່ຫ້າມຕິດຕັ້ງປະສົມປະກອບຫຍັງ

Object.seal() ອະນຸຍາດດັດແປງ, ແຕ່ກີດກັນການເພີ່ມເພີ່ມແລະການຖອນປະສົມອາຊີບ.

Object.freeze() ກີດກັນການດັດແປງ, ການເພີ່ມເພີ່ມແລະການຖອນປະສົມອາຊີບ.

Object.isExtensible() ຖ້າບັນດາຫຼັກສາມາດຂະຫຍາຍ, ຈະຫຼຸດຄືນ true.

Object.isSealed() ຖ້າບັນດາຫຼັກແມ່ນຖືກປິດ, ຈະຫຼຸດຄືນ true.

Object.isFrozen() ຖ້າບັນດາຫຼັກຖືກຫຼຸດລົງ, ຈະຫຼຸດຄືນ true.

ຕົວຢ່າງ

ຕົວຢ່າງ 1

"use strict"
// ການສ້າງບັນດາຫຼັກ
const person = {
  firstName: "Bill",
  lastName: "Gates",
  age: 50,
  eyeColor: "blue"
};
// ຫຼຸດລົງບັນດາຫຼັກ
Object.freeze(person);
// ຈະຍິງການກະທົບຄວາມຜິດພາດ
person.age = 51;

ການດຳເນີນການດ້ວຍຕົວຕົນ

ຕົວຢ່າງ 2

const fruits = ["Banana", "Orange", "Apple", "Mango"];
Object.freeze(fruits);
// ຈະຍິງການກະທົບຄວາມຜິດພາດ:
fruits.push("Kiwi");

ການດຳເນີນການດ້ວຍຕົວຕົນ

ຂອບເຫລືອ

Object.freeze(object)

ການຕົກລົງ

ການຕົກລົງ ການອະທິບາຍ
object ຕ້ອງການ. ບັນດາຫຼັກທີ່ຕ້ອງຫຼຸດລົງ.

ຄຳຜົນຄອງຂອງການອອກຄຳຜົນ

ຊະນິດ ການອະທິບາຍ
Object ບັນດາຫຼັກທີ່ຖືກຫຼຸດລົງ.

ການສະໜັບສະໜູນບັນດາຫຼັກການອາກາດ

Object.freeze() ແມ່ນລະບົບ ECMAScript5 (ES5)ທີ່ມີເຄື່ອງມື.

ຕັ້ງແຕ່ 2013 ກໍລະກົດ 7, ບັນດາຫຼັກການອາກາດທັງໝົດທີ່ຫຼິ້ນຢ່າງສົມບູນໃຫ້ ES5 (JavaScript 2009):

Chrome Edge Firefox Safari Opera
Chrome 23 IE/Edge 11 Firefox 21 Safari 6 Opera 15
2012 ກໍລະກົດ 9 2012 ກໍລະກົດ 9 2013 ກໍລະກົດ 4 2012 ກໍລະກົດ 7 2013 ກໍລະກົດ 7