初学者这样玩typescript,迟早进大厂系列(第九期)(代码片段)

极客江南 极客江南     2023-01-04     441

关键词:

极客江南: 一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS、Android、HTML5开发经验,对NativeApp、HybridApp、WebApp开发有着独到的见解和深入的研究, 除此之外还精通 JavaScript、AngularJS、 NodeJS 、Ajax、jQuery、Cordova、React Native等多种Web前端技术及Java、PHP等服务端技术。

初学者玩转 TypeScript系列,总计 10 期,本文为第 9 期,点赞、收藏、评论、关注、三连支持!

一期知识点击这里

二期知识点击这里

三期知识点击这里

四期知识点击这里

五期知识点击这里

六期知识点击这里

七期知识点击这里

八期知识点击这里

对于初学者来说,学习编程最害怕的就是,

那么,Typescript 是不是很难?

首先,我可以肯定地告诉你,你的焦虑是多余的。新手对学习新技术有很强的排斥心理,主要是因为基础不够扎实,然后自信心不够强。

1.访问器装饰器

/*
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);


2. 属性装饰器

/*
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);

3. 参数装饰器

/*
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,迟早进大厂系列(第九期)(代码片段)

极客江南:一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS、Android、HTML5开发经验,对NativeApp、HybridApp、WebApp开发有着独到的见解和深入的研究,除此之外还精通JavaScrip... 查看详情

初学者这样玩typescript,迟早进大厂系列(第六期)(代码片段)

极客江南:一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS、Android、HTML5开发经验,对NativeApp、HybridApp、WebApp开发有着独到的见解和深入的研究,除此之外还精通JavaScrip... 查看详情

初学者这样玩typescript,迟早进大厂系列(第九期)(代码片段)

极客江南:一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS、Android、HTML5开发经验,对NativeApp、HybridApp、WebApp开发有着独到的见解和深入的研究,除此之外还精通JavaScrip... 查看详情

初学者这样玩typescript,迟早进大厂系列(第八期)(代码片段)

极客江南:一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS、Android、HTML5开发经验,对NativeApp、HybridApp、WebApp开发有着独到的见解和深入的研究,除此之外还精通JavaScrip... 查看详情

初学者这样玩typescript,迟早进大厂系列(第八期)(代码片段)

极客江南:一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS、Android、HTML5开发经验,对NativeApp、HybridApp、WebApp开发有着独到的见解和深入的研究,除此之外还精通JavaScrip... 查看详情

初学者这样玩typescript,迟早进大厂系列(第十期)(代码片段)

极客江南:一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS、Android、HTML5开发经验,对NativeApp、HybridApp、WebApp开发有着独到的见解和深入的研究,除此之外还精通JavaScrip... 查看详情

初学者这样玩typescript,迟早进大厂系列(第六期)(代码片段)

极客江南:一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS、Android、HTML5开发经验,对NativeApp、HybridApp、WebApp开发有着独到的见解和深入的研究,除此之外还精通JavaScrip... 查看详情

初学者这样玩typescript,迟早进大厂系列(第十期)(代码片段)

极客江南:一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS、Android、HTML5开发经验,对NativeApp、HybridApp、WebApp开发有着独到的见解和深入的研究,除此之外还精通JavaScrip... 查看详情

初学者这样玩typescript,迟早进大厂系列(第七期)(代码片段)

极客江南:一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS、Android、HTML5开发经验,对NativeApp、HybridApp、WebApp开发有着独到的见解和深入的研究,除此之外还精通JavaScrip... 查看详情

初学者这样玩typescript,迟早进大厂系列(第八期)(代码片段)

极客江南:一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS、Android、HTML5开发经验,对NativeApp、HybridApp、WebApp开发有着独到的见解和深入的研究,除此之外还精通JavaScrip... 查看详情

初学者这样玩typescript,迟早进大厂系列(第十期)(代码片段)

极客江南:一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS、Android、HTML5开发经验,对NativeApp、HybridApp、WebApp开发有着独到的见解和深入的研究,除此之外还精通JavaScrip... 查看详情

初学者这样玩typescript,迟早进大厂系列(第六期)(代码片段)

极客江南:一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS、Android、HTML5开发经验,对NativeApp、HybridApp、WebApp开发有着独到的见解和深入的研究,除此之外还精通JavaScrip... 查看详情

初学者这样玩typescript,迟早进大厂系列(第十期)(代码片段)

极客江南:一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS、Android、HTML5开发经验,对NativeApp、HybridApp、WebApp开发有着独到的见解和深入的研究,除此之外还精通JavaScrip... 查看详情

初学者这样玩typescript,迟早进大厂系列(第七期)(代码片段)

极客江南:一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS、Android、HTML5开发经验,对NativeApp、HybridApp、WebApp开发有着独到的见解和深入的研究,除此之外还精通JavaScrip... 查看详情

初学者这样玩typescript,迟早进大厂系列(第七期)(代码片段)

极客江南:一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS、Android、HTML5开发经验,对NativeApp、HybridApp、WebApp开发有着独到的见解和深入的研究,除此之外还精通JavaScrip... 查看详情

初学者这样玩typescript,迟早进大厂系列(第十期)(代码片段)

...ve等多种Web前端技术及Java、PHP等服务端技术。初学者玩转TypeScript系列,总计10期,本文为第10期,点赞、收藏、评论、关注、三连支持!一期知识点击这里二期知识点击这里三期知识点击这里四期知识点击这里五... 查看详情

初学者这样玩typescript,迟早进大厂系列(第九期)(代码片段)

...ve等多种Web前端技术及Java、PHP等服务端技术。初学者玩转TypeScript系列,总计10期,本文为第9期,点赞、收藏、评论、关注、三连支持!一期知识点击这里二期知识点击这里三期知识点击这里四期知识点击这里五期... 查看详情

这样学ts,迟早进大厂系列(第五期)(代码片段)

极客江南:一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS、Android、HTML5开发经验,对NativeApp、HybridApp、WebApp开发有着独到的见解和深入的研究,除此之外还精通JavaScrip... 查看详情