/** 宣告一個屬性為非 enumerable */ export function nonEnumerable ( target , name ) ; export function nonEnumerable ( target , name , desc ) ; export function nonEnumerable ( target , name , desc ? ) { if ( desc ) { desc . enumerable = false ; return desc ; } Object . defineProperty ( target , name , { set ( value ) { Object . defineProperty ( this , name , { value , writable : true , configurable : false , } ) ; } , configurable : true , } ) ; }