極客江南: 一個對開發技術特別執著的程式員,對移動開發有著獨到的見解和深入的研究,有著多年的iOS、Android、HTML5開發經驗,對NativeApp、HybridApp、WebApp開發有著獨到的見解和深入的研究, 除此之外還精通 JavaScript、AngularJS、 NodeJS 、Ajax、jQuery、Cordova、React Native等多種Web前端技術及Java、PHP等服務端技術,
初學者玩轉 TypeScript系列,總計 10 期,本文為第 10 期,點贊、收藏、評論、關注、三連支持!
一期知識點擊這里
二期知識點擊這里
三期知識點擊這里
四期知識點擊這里
五期知識點擊這里
六期知識點擊這里
七期知識點擊這里
八期知識點擊這里
九期知識點擊這里
十期目錄
- 1.混入
- 2. 宣告
- 3. 宣告檔案
對于初學者來說,學習編程最害怕的就是,難,
那么,Typescript 是不是很難?
首先,我可以肯定地告訴你,你的焦慮是多余的,新手對學習新技術有很強的排斥心理,主要是因為基礎不夠扎實,然后自信心不夠強,
1.混入
// 1.物件混入
/*
let obj1 = {name:'lnj'};
let obj2 = {age:34};
Object.assign(obj1, obj2);
console.log(obj1);
console.log(obj2);
*/
// 2.類混入
// 需求: 定義兩個類, 將兩個類的內容混入到一個新的類中
class Dog {
name:string = 'wc';
say():void{
console.log('wang wang');
}
}
class Cat {
age:number = 3;
run():void{
console.log('run run');
}
}
// 注意點: 一次只能繼承一個類
// class Animal extends Dog, Cat{
//
// }
class Animal implements Dog, Cat{
name:string;
age:number;
say:()=>void;
run:()=>void;
}
function myMixin(target:any, from:any[]) {
from.forEach((fromItem)=>{
Object.getOwnPropertyNames(fromItem.prototype).forEach((name)=>{
target.prototype[name] = fromItem.prototype[name];
})
})
}
myMixin(Animal, [Dog, Cat]);
let a = new Animal();
console.log(a);
a.say();
a.run();
// console.log(a.name);
// console.log(a.age);
2. 宣告
/*
1.什么是宣告?
- 在企業開發中我們不可避免的需要參考第三方的 JS 的庫,
但是默認情況下TS是不認識我們引入的這些JS庫的
所以在使用這些JS庫的時候, 我們就要告訴TS它是什么, 它怎么用
- 如何告訴TS呢?
那就是通過宣告來告訴
* */
declare const $:(selector:string)=>{
width():number;
height():number;
ajax(url:string, config:{}):void;
};
console.log($);
console.log($('.main').width());
console.log($('.main').height());
3. 宣告檔案
console.log(myName);
say('lnj', 18);
let p = new Person('zs', 666);
p.say();
/*
1.對于常用的第三方庫, 其實已經有大神幫我們撰寫好了對應的宣告檔案
所以在企業開發中, 如果我們需要使用一些第三方JS庫的時候我們只需要安裝別人寫好的宣告檔案即可
2.TS宣告檔案的規范 @types/xxx
例如: 想要安裝jQuery的宣告檔案, 那么只需要npm install @types/jquery 即可
* */
> 碼字不易,在線求個三連支持,
點擊下方卡片,關注公眾號 回復 **書籍** 獲取原創保姆級編程電子書
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/300776.html
標籤:其他
