对象方法 - Object

目录

1、Object原型方法

2、Object构造函数的方法

3、ES6中新增内容-symbol


 

1、Object原型方法

⑴、hasOwnProperty(key):检测某个对象中是否自带某个指定的属性,返回boolean

⑵、isPrototypeOf(obj):用于判断一个对象是否在另一个对象的原型链上,返回boolean

⑶、propertyIsEnumerable(key):判断当前对象中指定属性是否为自身属性,返回boolean

⑷、toString():转为字符串,注:每个对象中都有一个toString方法,转换的结果跟当前Object原型中的toString方法不一致

⑸、toLocaleString():给不同的数据调用会得到不同的数据

⑹、valueOf():给不同类型的对象调用功能是不同的

2、Object构造函数的方法

⑴、assign(o1,o2):将o2对象中的内容,拷贝到o1对象中,并可以返回一个新对象;该方法是属性浅拷贝

浅拷贝:拷贝的是当前对象中的复杂类型的引用地址

深拷贝:则是拷贝当前对象中的复杂类型的所有内容

⑵、 create(指定原型,键值对参数对象):创建对象中的键值对

语法:
        Object.create(obj,{
            //给当前对象中设置内容
            address:{
                value:"广州",  //键值
                writable:true,  //是否可修改
                enumerable:true, //是否可遍历
                configurable:true //是否可删除
            }    
        })

⑶、defineProperties

defineProperties(对象,{键值对的描述}):用于给对象添加或修改一个或多个属性

⑷、 defineProperty

defineProperty(对象,属性,{属性的描述}):用于监视对象某个属性被访问或被修改的操作(可以做双 向数据绑定操作)

双向数据绑定:视图和代码中的数据,只要有一个地方发生改变,那另一个地方的数据也同样发生变化

⑸、 entries

entries():获取对象中可以遍历的键值对,返回一个数组

⑹、 fromEntries

fromEntries():跟entries的作用相反,将一个map格式的数组(多个键值对组成的数组)转成一个对象

⑺、 freeze

freeze():用于冻结一个对象,让对象不能新增、不能修改、不能删除、不能整改原型对象,不能改属性的特性

注:如果对象中的值,也是一个对象,里面的小对象是没有被冻结的,也就说这种冻结只是浅冻结

⑻、 getOwnPropertyDescriptors

getOwnPropertyDescriptors():获取当前对象中所有属性的描述信息

⑼、 getPrototypeOf

getPrototypeOf():获取当前对象中的原型

⑽、setPrototypeOf

setPrototypeOf():给指定对象设置原型

⑾、 hasOwn

hasOwn():判断一个属性是否属于某个对象,而不是被继承来的。跟hasOwnProperty的功能一样

⑿、is

判断两个变量是否相等,跟===等号类似

⒀、isExtensible

isExtensible():判断当前对象中的内容是否可扩展

⒁、isFrozen

isFrozen():判断当前对象是否被冻结

⒂、preventExtensions

preventExtensions():将当前对象变成不可扩展

⒃、seal

seal():封闭当前对象,不能删除,不能添加

⒄、 keys

keys():获取当前对象中所有可枚举属性的键名

⒅、values

values():获取当前对象中所有可枚举属性的键值

⒆、getOwnPropertySymbols

getOwnPropertySymbols():获取当前对象中所有的Symbol属性的键名,返回一个数组

3、ES6中新增内容-symbol

1、Symbol:是ES6中新增的一种数据类型,每个值都表示独一无二,可以拿来作为对象 中的键名

注:

⑴、Symbol只是一个普通的数据类型,不是构造函数,不能跟new关键字一起使用

⑵、直接使用Symbol作为对象中的键名,是不可遍历,不可获取

⑶、当Symbol方法中的参数是对象时,会默认触发toString方法

⑷、Symbol数据不能跟其他类型的数据运算,不会进行隐式转换

⑸、Symbol数据可以强制转为字符串和boolean值

2、 Symbol.for():创建Symbol内容,当内存中如果已经有该内容,则不用创建,直接使 用;如果没有该内容,则创建

3、Symbol.keyFor():获取上面for方法创建的Symbol内容

4、description:获取Symbol中的内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值