2.1 认识一些编程语言的术语
TypeScript是一门计算机编程语言,必然会涉及一些编程方面的术语。这些术语会经常在后面提及,因此有必要对这些术语的基本概念做一个说明,如果你之前学过面向对象或者其他语言,可以选择性地跳过阅读这些概念。
2.1.1 标识符
在计算机编程语言中,为了便于记忆和理解,使用一个符合约定的名字给变量、常量、函数和类等命名,以建立起名称与实体之间的映射关系,这个名字就是标识符(identifier)。标识符通常由字母和数字以及其他少数几个特有的字符构成。
通俗来讲,标识符可以理解为人的姓名,往往我们用一个人的姓名来代表这个人,以区分不同的人。
2.1.2 数据类型
数据类型(Data Type)是一种数据分类,包含一组数据的共性属性和方法总称,它告诉编译器或解释器如何使用数据。数据类型限定了开发人员可以对数据执行的操作、数据的组成以及存储该类型的值的方式。
举例而言,鸟和鱼可以看成是一种动物的类型,鱼这个类型就限制了它的数据组成只能是草鱼、鲑鱼和鲨鱼等,同时鱼这个类型还有一些特有的行为,如在水中游;而鸟这个类型限制了它的数据组成只能是燕子、大雁和麻雀等,同时鸟这个类型还有一些特有行为,如在天上飞。
也就是说,只要某个事物可以归为某类型,那么它就必须具备这个类型的特有属性和方法。
2.1.3 原始数据类型
原始数据类型(Primitive Data Type)通常是内置或基本的语言实现类型。原始数据类型一般情况下与计算机内存中的对象一一对应,但由于语言及其实现的不同,也可能不一致。但是,通常情况下对原始数据类型的操作是最快的。原始类型基本上都是值类型,其赋值都是在内存中复制的副本。
2.1.4 变量和参数
变量(Variable)是一个用于保存值的占位符,可以通过变量名称来获得对值的引用。变量一般由变量名、变量类型和变量值组成。在计算机编程中,变量或标量是与关联的标识符配对的存储位置(由存储器地址标识),其包含值的一些信息。变量名称是引用存储值的常用方法。变量名和变量值的这种分离结构允许在程序运行时,变量名可以动态绑定值,换句话说,变量的值可以在程序执行过程中改变。变量名往往就是一个标识符,命名规则二者一致。
参数通俗地讲就是函数运算时需要参与运算的值。参数虽然和变量比较类似,但是二者还是不同的概念:参数一般用于函数中,变量既可以在函数中也可以在其他地方使用;参数一般用于传递值,而变量一般用于存储值。
2.1.5 函数和方法
函数是一段代码,通过函数名来进行调用,从而给外界提供服务。它能将一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。方法也是一段代码,也通过方法名来进行调用,但它必须依附于一个对象。方法和函数形式上大致是相同的,但使用上存在差异。将函数与某个对象建立联系时,函数就是方法。函数可以直接通过函数名调用,而方法必须通过对象和方法名来调用。
2.1.6 表达式和语句
表达式(Expression)是由数字、运算符、括号、变量名等按照一定顺序组成的且能求得值的式子,如x+(7*y)+2。表达式本质上是一个值,可以当作一个具体的值使用。因此可以将它赋给变量,也可以当作参数传递。单独的一个运算对象(常量或变量)也可以叫作表达式,这是最简单的表达式。表达式一般只能出现在赋值的右边,而不能是左边。
语句(Statement)在TypeScript中是由分号结尾的,一条语句相当于一个完整的计算机指令,包括声明语句、赋值语句、函数表达式语句、空语句、复合语句(由花括号{}括起来的一条或多条语句)。二者的区别就是表达式可以求值,但是语句不可以。
2.1.7 字面量
字面量(Literal)是在编码中表示一个固定值的表示法(Notation)。几乎所有计算机编程语言都具有对基本值的字面量表示,如浮点数、字符串和布尔类型等。字面量也叫作直接量。例如,“Hello World”就是字符串字面量;99.88就是数值字面量,true就是布尔字面量。