最近有一位面试官要求定义对象和原语之间的区别。考虑到所有语言都以原语开头,这似乎是一个奇怪的问题。你会如何回答这个问题?
我还应该注意到,这次面试是针对前端开发职位的,所以(我假设)他所指的语言是JavaScript。
发布于 2011-12-27 17:56:56
原语是一种数据类型,它不包含任何其他数据类型,并且不能进一步分解。它就像编程场景中的原子。我说原子是因为原子是物质的基本单位,没有任何东西可以从它衍生出来。
我的意思是,C中的int不能被分解成更小的数据类型。另一方面,一个对象可以被认为是一个分子,由一个以上的原始类型组成。例如,string是C++标准库的一部分;但是,它是一个对象,在内部由较小的数据类型组成,并包含方法。
重要的是要注意,并非所有面向对象的语言都是基于类的(例如,Javascript)您不能在Javascript中定义类,因此对象在这里有很大的不同。尽管Javascript中的所有东西都是对象(Ruby也是),但Number对象实际上是内部原语的包装器。
发布于 2011-12-28 05:35:31
从的角度来看:
发布于 2019-08-10 01:34:12
我认为primitive不能再像int、string (如内置数据类型)那样进行划分了。另一方面,对象可以分成像数组、结构这样的小块。
我只是一个学生,这是我的观点。
如果你认为我的答案是错的,你可以纠正我。
谢谢
https://stackoverflow.com/questions/8643276
复制相似问题