1.1. 变量命名规则
1、变量名称可以包含数字和字母。
2、除了下划线 _ 和美元 $ 符号外,不能包含其他特殊字符,包括空格。
3、变量名不能以数字开头。
以下为四种声明变量的方式
//var [变量名] : [类型] = 值; 声明变量的类型及初始值 var name:string = "wanma"; //var [变量名] : [类型]; 声明变量的类型,但没有初始值,变量值会设置为undefined var name:string; //var [变量名] = 值; 声明变量并初始值,但不设置类型,该变量可以是任意类型 var name = "wanma"; //var [变量名]; 声明变量没有设置类型和初始值,类型是任意类型,初始值为undefined var uname;
总结:声明时,没有类型,类型就是any;没有初始值,初始值就是undefined
1.2. 强类型
TypeScript 遵循强类型,如果将不同的类型赋值给变量会编译错误,而JavaScript则不会,因为她是弱类型语言,如下实例:
var num:number = "wanma" // 编译错误 //对应的js var num = 100 num = "wanma" // 编译不报错
1.3. 类型推断
当类型没有给出时,TypeScript 编译器利用类型推断来推断类型。如果由于缺乏声明而不能推断出类型,那么它的类型被视作默认的动态 any 类型。
var num = 100; // 类型推断为 number num = "wanma"; // 编译错误,相当于上例 var num:number = "wanma"
1.4. 变量作用域
TypeScript 有以下几种作用域:
全局作用域 − 全局变量定义在程序结构的外部,它可以在你代码的任何位置使用。
类作用域 − 这个变量也可以称为 字段。类变量声明在一个类里头,但在类的方法外面。 该变量可以通过类的对象来访问。类变量也可以是静态的,静态的变量可以通过类名直接访问。
局部作用域 − 局部变量,局部变量只能在声明它的一个代码块(如:方法)中使用。
var global_num = 10 // 全局变量 class Person { age = 18; // 实例变量 static score = 100; // 静态变量 eat():void { var food = 'apple'; // 局部变量 } } console.log("全局变量为: " + global_num) console.log(Person.score) // 静态变量,直接通过类名访问 var person = new Person(); console.log("实例变量: " + person.age)
0条评论
点击登录参与评论