JavaScript本质上只有Object
类型(对值类型也有一些优化,加上#34;缺省"值)。在任何情况下我都可以在学术上正确并将用户定义的对象描述为类型吗?
e.g。
function MyType() {}
MyType.prototype.myMethod = function() {}
可以将MyType
视为一种类型 - 尽管编译器无法识别吗?
换句话说 - 教科书定义的类型是什么,可以被编译器识别,或者类型只是被认为是具有某种界面的东西?
答案 0 :(得分:0)
似乎问题的主体是问题而不是标题。在学术背景下,例如数据结构教科书,“抽象数据类型”指的是链接列表,堆栈,二叉树等等。
这些不一定以面向对象的语言实现(在我的数据结构大学课程中,我们使用C) - 它们可以由一组结构和函数组成。所以要回答你标题中的问题,不是它们不一样。