JavaScript seal
■isExtensible
obj000 = true
obj001 = true
obj010 = true
obj011 = true
obj100 = true
obj101 = true
obj110 = true
obj111 = true
■オブジェクト拡張不能化後のisExtensible
obj000 = false
obj001 = false
obj010 = false
obj011 = false
obj100 = false
obj101 = false
obj110 = false
obj111 = true
obj111 = false
■obj111.property2の保持値 拡張できない!
obj111.property2.value = undefined
■obj111.property1のデータ記述子
property = value, propertydescriptor3[value] = 100
property = writable, propertydescriptor3[writable] = true
property = enumerable, propertydescriptor3[enumerable] = true
property = configurable, propertydescriptor3[configurable] = false
■obj111.property1の保持値 変更はできる!
obj111.property1.value = 200
■obj111のデータ記述子
property = value, propertydescriptor[value] = data111
property = writable, propertydescriptor[writable] = true
property = enumerable, propertydescriptor[enumerable] = true
property = configurable, propertydescriptor[configurable] = false
■obj000の保持値
obj000.value = data000
■deleteキーワード使用後、obj000の保持値
obj000.value = data000
■deleteキーワード使用後、obj000のデータ記述子
property000 = value, propertydescriptor000[value] = data000
property000 = writable, propertydescriptor000[writable] = false
property000 = enumerable, propertydescriptor000[enumerable] = false
property000 = configurable, propertydescriptor000[configurable] = false