说JS函数可以是数据类型是否正确

时间:2015-09-08 06:44:28

标签: javascript

我知道如果我声称函数是数据类型,对许多程序员来说这将是一种亵渎。

但是如果你考虑一下,你不认为函数与JS中的数据类型类似。函数是JS中的一等公民。这不等同于理论上类似于数据类型的函数吗?

2 个答案:

答案 0 :(得分:4)

相对于MDN,功能是:

  

在JavaScript中,函数是第一类对象,即它们是对象,可以像任何其他对象一样被操纵和传递。具体来说,它们是Function对象。

  

函数是JavaScript中的基本构建块之一。函数是一个JavaScript过程 - 一组执行任务或计算值的语句。要使用某个函数,必须在要调用它的范围内的某个位置定义它。

data types

Six data types that are primitives:
    Boolean
    Null
    Undefined
    Number
    String
    Symbol (new in ECMAScript 6)
and Object

您还可以查看DevDocs以查看有关功能以及对象的更多信息。阅读此Professional JS会让您的意见更加清晰。 Javascript Garden可以更好地理解作为first-class对象的函数。

Object是一种基本的JavaScript数据类型,Function Object是类型之一。所以,答案是不,将JS函数称为数据类型是不对的。

答案 1 :(得分:1)

这只是一个描述选择,真的 函数和数组添加了特定于基本“对象”数据类型的一般定义的东西,并且该语言的很大一部分处理它们的特殊性。

由于某种原因,ECMA并未将其称为数据类型 他们是那里的老板。