zoukankan      html  css  js  c++  java
  • 你不知道的JS系列上( 50 ) - JS中那些骗人的术语

    在 JS 中,我们并不会将一个对象(类)复制到另一个对象(实例),只是将它们关联起来,[[Prototype]] 机制如下图所示
     

    这个机制通常被称为 原型继承,这个名称主要是为了对应面向类的世界中继承的意义,但是推翻了动态脚本中对应的语义

    继承这个词会让人产生非常强的心理预期。仅仅在前面加个原型并不能区分 js 中和类继承几乎完全相反的行为

    因此我认为这个容易混淆的组合术语 “原型继承”。以及其他面向类的术语比如类,构造函数,实例,多态,等等严重影响了大家对于 js 机制真实原理的理解

    继承意味着复制操作,JS 并不会复制对象属性。相反,JS 会在两个对象之间创建一个关联,这样一个对象可以通过委托访问另一个对象的属性和函数。

    还有个偶尔会用到的术语 差异继承。基本原则是在描述对象行为时,使用其不同于普遍描述的特质。举例来说,描述汽车时你会说汽车是有四个轮子的一种交通工具,但是你不会重复描述交通工具具备的通用特性,比如引擎

    默认情况下,对象并不会像差异继承暗示的那样通过复制生成。因此,差异继承也不适合用来描述 JS 的 [[Prototype]] 机制
  • 相关阅读:
    实验 6 数组1输出最大值和它所对应的下标
    实验5第二题
    实验5第一题
    作业 3 应用分支与循环结构解决问题 判断是否闰年
    心得与体会1
    第七章
    第六章
    第五章
    第四章
    第一章
  • 原文地址:https://www.cnblogs.com/wzndkj/p/12689154.html
Copyright © 2011-2022 走看看