初學者這樣玩 TypeScript,遲早進大廠系列(第十期)

極客江南 2021-09-19 03:12:03 阅读数:948

typescript 系列 第十期 十期

極客江南: 一個對開發技術特別執著的程序員,對移動開發有著獨到的見解和深入的研究,有著多年的iOS、Android、HTML5開發經驗,對NativeApp、HybridApp、WebApp開發有著獨到的見解和深入的研究, 除此之外還精通 JavaScript、AngularJS、 NodeJS 、Ajax、jQuery、Cordova、React Native等多種Web前端技術及Java、PHP等服務端技術。

初學者玩轉 TypeScript系列,總計 10 期,本文為第 10 期,點贊、收藏、評論、關注、三連支持!

一期知識點擊這裏

二期知識點擊這裏

三期知識點擊這裏

四期知識點擊這裏

五期知識點擊這裏

六期知識點擊這裏

七期知識點擊這裏

八期知識點擊這裏

九期知識點擊這裏

對於初學者來說,學習編程最害怕的就是,

那麼,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://gsmany.com/2021/09/20210919031203037c.html