脚本宝典收集整理的这篇文章主要介绍了初学者这样玩 TypeScript,迟早进大厂系列(第九期),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
极客江南: 一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS、AndROId、HTML5开发经验,对NativeApp、HybridApp、WebApp开发有着独到的见解和深入的研究, 除此之外还精通 JavaScript、AngularJS、 NodeJS 、Ajax、jquery、Cordova、React Native等多种Web前端技术及Java、PHP等服务端技术。
初学者玩转 TyPEScript系列,总计 10 期,本文为第 9 期,点赞、收藏、评论、关注、三连支持!
一期知识点击这里
二期知识点击这里
三期知识点击这里
四期知识点击这里
五期知识点击这里
六期知识点击这里
七期知识点击这里
八期知识点击这里
对于初学者来说,学习编程最害怕的就是,难。
那么,Typescript 是不是很难?
首先,我可以肯定地告诉你,你的焦虑是多余的。新手对学习新技术有很强的排斥心理,主要是因为基础不够扎实,然后自信心不够强。
/*
1.访问器装饰器
- 访问器装饰器声明在一个访问器的声明之前(紧靠着访问器声明)。
访问器装饰器应用于访问器的 属性描述符并且可以用来监视,修改或替换一个访问器的定义
- 访问器装饰器表达式会在运行时当作函数被调用,传入下列3个参数:
+ 对于静态成员来说是类的构造函数,对于实例成员是类的原型对象。
+ 成员的名字。
+ 成员的属性描述符。
- 注意:
TypeScript不允许同时装饰一个成员的get和set访问器。
取而代之的是,一个成员的所有装饰的必须应用在文档顺序的第一个访问器上
* */
function test(target: any, PRopertyKey: string, descriptor: PropertyDescriptor) {
// console.LOG(target);
// console.log(propertyKey);
// console.log(descriptor);
descriptor.set = (value:string)=>{
target.myName = value;
}
descriptor.get = ():string=>{
return target.myName;
}
}
class Person {
private _name:string; // lnj
constructor(name:string){
this._name = name;
}
@test
get name():string{
return this._name;
}
set name(value:string){
this._name = value;
}
}
let p = new Person('lnj');
p.name = 'zs';
console.log(p.name);
console.log(p);
/*
1.属性装饰器
- 属性装饰器写在一个属性声明之前(紧靠着属性声明)
- 属性装饰器表达式会在运行时当作函数被调用,传入下列2个参数:
+ 对于静态属性来说就是当前的类, 对于实例属性来说就是当前实例
+ 成员的名字。
* */
function test(target:any, proptyName:string) {
console.log(target);
console.log(proptyName);
target[proptyName] = 'lnj';
}
class Person {
// @test
static age:number;
@test
name?:string;
}
let p = new Person();
console.log(p);
/*
1.参数装饰器
- 参数装饰器写在一个参数声明之前(紧靠着参数声明)。
- 参数装饰器表达式会在运行时当作函数被调用,传入下列3个参数:
+ 对于静态成员来说是当前的类,对于实例成员是当前实例。
+ 参数所在的方法名称。
+ 参数在参数列表中的索引。
* */
/*
其它
属性装饰器,参数装饰器最常见的应用场景就是配合元数据(reflect-metadata),
在不改变原有结构的同时添加一些额外的信息
但是元数据目前也是在提案中, 也还没有纳入正式的标准
所以对于装饰器而言, 我们只需要了解即可,
因为提案中的所有内容将来都是有可能被修改的
因为提案中的所有内容目前都有兼容性问题
* */
function test(target:any, proptyName:string, index:number) {
console.log(target);
console.log(proptyName);
console.log(index);
}
class Person {
say(age:number,@test name:string):void{
}
}
码字不易,在线求个三连支持。
以上是脚本宝典为你收集整理的初学者这样玩 TypeScript,迟早进大厂系列(第九期)全部内容,希望文章能够帮你解决初学者这样玩 TypeScript,迟早进大厂系列(第九期)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。