zoukankan      html  css  js  c++  java
  • 读书笔记——《You Don't Know JS》

    第一部:《You don't know JS: this & Object prototype》

    第三章 Object

    对象常量

    var myObject = {};
    Object.defineProperty( myObject, "FAVORITE_NUMBER", {
     value: 42,
     writable: false,
     configurable: false
    } );
    
    

    禁止对象扩展

    var myObject = {
     a: 2
    };
    Object.preventExtensions( myObject );
    myObject.b = 3;
    myObject.b; // undefined

       使用preventExtensions方法,可禁止对象再次扩展。 

    Object.seal(..)
         preventExtensions + configurable:false

    Object.freeze(..)
         s Object.seal(..) + writable:false

    对象默认方法[[Get]]、[[PUT]]

    自定义Getters和Setters

    var myObject = {
     // define a getter for `a`
     get a() {
     return 2;
     }
    };
    Object.defineProperty(
     myObject, // target
     "b", // property name
     { // descriptor
     // define a getter for `b`
     get: function(){ return this.a * 2 },
     // make sure `b` shows up as an object property
     enumerable: true
     }
    );
    var myObject = {
     // define a getter for `a`
     get a() {
     return this._a_;
     },
     // define a setter for `a`
     set a(val) {
     this._a_ = val * 2;
     }
    };
  • 相关阅读:
    隔离级别
    cookie
    session
    正则表达式
    hello2源代码解析
    servlet_filter简介
    web.xml
    Annotations
    Java design patterna
    CDI Features
  • 原文地址:https://www.cnblogs.com/javawer/p/3904363.html
Copyright © 2011-2022 走看看