zoukankan      html  css  js  c++  java
  • 属性特性

    属性特性:

    • value              属性值
    • writable               可修改值与否
    • enumerable         可列举与否
    • configurable         可删除与否

    propertyName:属性名称,可以自定义,比如常见的name,age

    属性描述对象:包含四大特性的对象

    得到某属性的特性: Object.getOwnPropertyDescriptor(obj, propertyName);

    哪一个对象的哪一个属性

     

    修改某属性特性: Object.defineProperty(obj, propertyName, descriptor)

    哪一个对象   哪一个属性   属性描述符对象

     修改属性特性,就像是给自行车补胎,先找到是哪个自行车,然后找是前胎还是后胎,最后拿出“补胎胶”。

    使用此方法时,如果属性存在,会更新其特性;

    如果属性不存在,通过给定的特性和特性值来创建该属性,没有提供值的特性值默认为false

     

    configurable:

    false:

    1. 不能修改 configurable 标志。
    2. 不能修改 enumerable 标志。
    3. 不能将 writable: false 修改为 true(反过来则可以)。
    4. 不能修改访问者属性的 get/set(但是如果没有可以分配它们)。
    5. 不能删除该属性

    防止修改和删除属性特性,允许修改对象的值value。

    一旦设置为不可设置,就不能再改回来。

     1 let user = {
     2   name: "John"
     3 };
     4 
     5 Object.defineProperty(user, "name", {
     6   writable: false,
     7   configurable: false
     8 });
     9 
    10 // 不能修改 user.name 或它的标志
    11 // 下面的所有操作都不起作用:
    12 user.name = "Pete";
    13 delete user.name;
    14 Object.defineProperty(user, "name", { value: "Pete" });
  • 相关阅读:
    PHP操作目录(文件夹)的常用函数
    PHP处理时间的常用函数
    PHP操作文件的常用函
    PHP处理数组的常用函数
    PHP处理字符串的常用函数
    什么是 CGI?什么是 FastCGI?php-fpm,FastCGI,Nginx 之间是什么关系?
    一天一个 Linux 命令(18):ln 命令
    IntelliJ IDEA get set 快捷键
    mysql的一些问题记录
    数据库的乐观锁和悲观锁是什么?怎么实现的?
  • 原文地址:https://www.cnblogs.com/flyover/p/14156389.html
Copyright © 2011-2022 走看看