源碼
static
//static 將屬性聲明成靜態(tài)的戒职,這樣的話就不能被繼承
// //正常的寫法
// class Person{
// name:string;
// tell(){
// alert('姓名:' + this.name);
// }
// }
// let p = new Person();
// p.name = 'xiaochuan';
// p.tell();//'姓名:xiaochuan'
//加 static 后的寫法
//這里的 myname 只能通過 Person 來進行調(diào)用
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;
}
}
//聲明一個數(shù)據(jù)類型為 Greeter 這個類的類型的變量 green
let green:Greeter;//這里是指定這個 green 的數(shù)據(jù)類型是 Greeter 這個類的類型,這個可以稱為是 “引用數(shù)據(jù)類型”
//實例化上面的 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>