获取原型

14 阅读1分钟
  • 用于获取一个对象的原型对象
let map = new Map()//构造函数的方式创建对象
console.log(Object.getPrototypeOf(map))//map
  • 每个对象都有一个__proto__属性,指向该对象的原型对象,是每个对象独有的属性。__proto__的使用从而形成原型链
  • Object.prototype是所有对象所共有的属性
  1. 使用 Object.prototype.toString() 方法获取变量的类型。
javascriptCopy codelet a = 123;
let b = 'hello';
let c = [1, 2, 3];
console.log(Object.prototype.toString.call(a)); // [object Number]
console.log(Object.prototype.toString.call(b)); // [object String]
console.log(Object.prototype.toString.call(c)); // [object Array]
  1. 使用 Object.prototype.hasOwnProperty() 方法判断对象是否拥有指定的属性。
javascriptCopy codelet obj = {a: 1, b: 2};
console.log(obj.hasOwnProperty('a')); // true
console.log(obj.hasOwnProperty('c')); // false
  1. 使用 Object.prototype.isPrototypeOf() 方法判断对象是否是另一个对象的原型。
javascriptCopy codelet parent = {a: 1};
let child = Object.create(parent);
console.log(parent.isPrototypeOf(child)); // true
console.log(Object.prototype.isPrototypeOf(child)); // true
  1. 使用 Object.prototype.valueOf() 方法获取对象的原始值。
javascriptCopy codelet date = new Date();
console.log(date.valueOf()); // 1646988781000 (当前时间的时间戳)