我是靠谱客的博主 端庄篮球,最近开发中收集的这篇文章主要介绍prototype和__proto__ 的关系,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、 主要有以下三点:

  1. 函数(或构造函数)身上才有 prototype (prototype名字叫原型,原型是一个对象);
  2. 而其他任何通过构造函数实例化出来的对象(不包括null、undefined)身上都有 proto(__proto__是隐式原型,隐式原型也一个对象)
  3. 实例化对象的__proto__ 就是 构造函数的 prototype (===关系)

附:undefind 和 null 既没有prototype也没有 proto ,因为它俩不是函数,也不是函数实例化出来的对象

具体说明如下:

  1. 函数(或构造函数)身上才有 prototype (prototype名字叫原型,原型是一个对象);
    例如:String、Number、Boolean、Array、Object

在这里插入图片描述

  1. 而其他任何通过构造函数实例化出来的对象(不包括null、undefined)身上都有 proto(__proto__是隐式原型,隐式原型也一个对象)

例如:
‘a’ 是通过String函数实例化出来的对象(这里包括以下说的对象不是Objcet数据类型)
4 是通过Number函数实例化出来的对象
true是通过Boolean函数实例化出来的对象
[1,2,3]是通过Array函数实例化出来的对象
{}是通过Objec函数实例化出来的对象

在这里插入图片描述

  1. 实例化对象的__proto__ 就是 构造函数的 prototype

例如:
‘a’.proto === String.protptype //true
true.proto === Boolean.prototype //true

在这里插入图片描述

最后

以上就是端庄篮球为你收集整理的prototype和__proto__ 的关系的全部内容,希望文章能够帮你解决prototype和__proto__ 的关系所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部