Object.getPrototypeOf判断数据类型

一.Object.getPrototypeOf():用于读取一个对象的原型对象。

可以用做判断一个实例的原型,可用于判断数据类型
javascript 复制代码
const a = [1,2,3,4,5,6,7,8,9,10]
console.log('数组实例的原型',Object.getPrototypeOf(a) === Array.prototype) //true
const b = 'test'
console.log('字符串实例的原型',Object.getPrototypeOf(b) === String.prototype) //true

二.Object.setPrototypeOf():用来设置一个对象的原型对象(prototype),返回参数对象本身

javascript 复制代码
//用法
const o = Object.setPrototypeOf({}, null);
//等同于
function setPrototypeOf(obj, proto) {
  obj.__proto__ = proto;
  return obj;
}
javascript 复制代码
let proto = {};
let obj = { x: 10 };
Object.setPrototypeOf(obj, proto);

proto.y = 20;
proto.z = 40;

obj.x // 10
obj.y // 20
obj.z // 40
相关推荐
IT古董5 分钟前
【人工智能】Python在机器学习与人工智能中的应用
开发语言·人工智能·python·机器学习
繁依Fanyi9 分钟前
简易安卓句分器实现
java·服务器·开发语言·算法·eclipse
endingCode18 分钟前
45.坑王驾到第九期:Mac安装typescript后tsc命令无效的问题
javascript·macos·typescript
湫ccc29 分钟前
《Python基础》之pip换国内镜像源
开发语言·python·pip
fhvyxyci30 分钟前
【C++之STL】摸清 string 的模拟实现(下)
开发语言·c++·string
qq_4597300332 分钟前
C 语言面向对象
c语言·开发语言
菜鸟学Python41 分钟前
Python 数据分析核心库大全!
开发语言·python·数据挖掘·数据分析
一个小坑货1 小时前
Cargo Rust 的包管理器
开发语言·后端·rust
bluebonnet271 小时前
【Rust练习】22.HashMap
开发语言·后端·rust
古月居GYH1 小时前
在C++上实现反射用法
java·开发语言·c++