源码
static
//static 将属性声明成静态的,这样的话就不能被继承
// //正常的写法
// class Person{
// name:string;
// tell(){
// alert('姓名:' + this.name);
// }
// }
// let p = new Person();
// p.name = 'xiaochuan';
// p.tell();//'姓名:xiaochuan'
//加 static 后的写法
//这里的 myname 只能通过 Person 来进行调用
class Person{
static age:number;
static myname:string;
tell(){
alert('姓名:' + Person.myname);
}
}
let p = new Person();
Person.myname = 'xiaochuan';
// Person.age = 20;
p.tell();//'姓名:xiaochuan'
//上面的这个示例之前写的属性名为 name 但是在编译的时候会抱一个错误 "Greeter.ts(16,9): error TS2699: Static property 'name' conflicts with built-in property 'Function.name' of constructor function 'Person'."
//因此我将上面之前的属性名 name 改为了 myname 测试后无误了
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TypeScript static和引用类型的使用方法</title>
</head>
<body>
<script type="text/javascript" src="Static.js"></script>
</body>
</html>
引用类型的使用方法
//引用类型的使用方法
class Greeter{
greeting:string;
constructor(message:string){
this.greeting = message;
}
greet(){
return "hello" + this.greeting;
}
}
//声明一个数据类型为 Greeter 这个类的类型的变量 green
let green:Greeter;//这里是指定这个 green 的数据类型是 Greeter 这个类的类型,这个可以称为是 “引用数据类型”
//实例化上面的 Greeter 类
green = new Greeter('大家好,我是小川');
//输出结果
alert(green.greet());
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TypeScript static和引用类型的使用方法</title>
</head>
<body>
<!-- <script type="text/javascript" src="Static.js"></script> -->
<script type="text/javascript" src="Greeter.js"></script>
</body>
</html>