精华内容
下载资源
问答
  • Ts修饰符

    2020-01-30 20:39:49
    TypeScript修饰符

    TypeScript修饰符
    在这里插入图片描述

    展开全文
  • 下面分别介绍一下类的访问修饰符:一.public访问修饰符:在TypeScript中,成员都默认为public(在C#等语言则需要显式的规定);可以省略。代码实例如下:class Antzone {public webName: string;public constructor...

    关于类的基本用法,可以参阅TypeScript class 类介绍一章节。

    下面分别介绍一下类的访问修饰符:

    一.public访问修饰符:

    在TypeScript中,成员都默认为public(在C#等语言则需要显式的规定);可以省略。

    代码实例如下:class Antzone {

    public webName: string;

    public constructor(webName: string) { this.webName = webName; }

    public show(age: number) {

    console.log(`${this.webName} 成立 ${age}年了.`);

    }

    }

    let antzone=new Antzone("Downzz.com");

    antzone.show(4);

    使用public修饰的成员,可以在类的内外自由访问。

    二.private修饰符:

    当成员被标记成private时,就不能在声明它的类的外部访问。

    代码实例如下:class Antzone {

    private webName: string;

    public constructor(webName: string) { this.webName = webName; }

    public show(age: number) {

    console.log(`${this.webName} 成立 ${age}年了.`);

    }

    }

    let antzone=new Antzone("Downzz.com");

    antzone.webName;

    由于webName是私有类型,所以会报错,截图如下:

    三.protected访问修饰符:

    protected与private行为相似,但有一点不同,protected成员在派生类中可以访问。

    代码实例如下:class Person {

    protected name: string;

    constructor(name: string) { this.name = name; }

    }

    class Employee extends Person {

    private department: string;

    constructor(name: string, department: string) {

    super(name)

    this.department = department;

    }

    public getElevatorPitch() {

    return `Hello, my name is ${this.name} and I work in ${this.department}.`;

    }

    }

    let howard = new Employee("Howard", "Sales");

    console.log(howard.getElevatorPitch());

    console.log(howard.name);

    由于父类中的name访问修饰符是protected,所以可以在它的派生类中访问:public getElevatorPitch() {

    return `Hello, my name is ${this.name} and I work in ${this.department}.`;

    }

    所以上面的代码是正确的,但是不能够在类的外部访问:console.log(howard.name)

    所以上面的代码会报错,截图如下:

    四.readonly修饰符:

    使用readonly关键字将属性设置为只读的。

    只读属性必须在声明时或构造函数里被初始化,代码实例如下:class Antzone {

    readonly webName: string;

    public constructor(webName: string) { this.webName = webName; }

    public show(age: number) {

    console.log(`${this.webName} 成立 ${age}年了.`);

    }

    }

    let antzone=new Antzone("Downzz.com");

    antzone.webName="蚂蚁奋斗";

    由于webName是只读的,所以在非声明或者构造函数里给它赋值会报错。

    展开全文
  • ts修饰符 ---typescript

    2021-11-12 10:05:59
    修饰的属性可以在任意位置访问/修改 一般默认为public; private: 私有属性,私有属性只能在类自身的内部访问/修改 在外部想访问或者修改私有属性,可以通过类内部添加方法实现 class Person{ private _name : ...

    public : 

    修饰的属性可以在任意位置访问/修改  一般默认为public;

    private:

    私有属性,私有属性只能在类自身的内部访问/修改

                    在外部想访问或者修改私有属性,可以通过类内部添加方法实现

    class Person{
        private _name : string;
        private _age : number;
        constructor(name:string,age:number){
            this._name = name;
            this._age = age;
        }
        get name(){
            return this._name
        }
        get age(){
            return this._age
        }
        set name(value:string){
            this._name = value
        }
        set age(value:number){
            if(value>=18){
                this._age = value
            }else{
                this._age = 5
            }
        }
    }
     
    const A = new Person("小王",10)
    console.log(A);
     
    A.name = "小张";
    A.age = -100;
    console.log(A);

    protected:

    收保护的属性,只能在当前类和当前类的子类中访问和修改;

    展开全文
  • TS-修饰符 与 static

    千次阅读 2019-07-19 14:42:59
    TS-修饰符 与 static 1.static: 用于 修饰 变量 或者方法,表示 静态的 当类 中 的 方法 被 声明 为 static 时,其实例化 对象 不可 调用 该方法,只有 类 本身 ,以及 其子类 可以 调用。 eg: class A { name:...

    TS-修饰符 与 static

    1.static: 用于 修饰 变量 或者方法,表示 静态的

    • 当类 中 的 方法 被 声明 为 static 时,其实例化 对象 不可 调用 该方法,只有 类 本身 ,以及 其子类 可以 调用。
      eg:
    class A {
    	name:string;
    	age:number;
    	constructor(name:string,age:number){
    		this.name = name;
    		this.age = age;
    	}
    	eat(){
    		console.log('测试');
    	}
    	static eat2(){
    		console.log('测试2');
    	}
    }
    let a = new A('zhangsan',8);
    a.eat();//   '测试'
    a.eat2();// error
    A.eat2();//  '测试2'
    class B extends A {
    	constructor(name:string,age:number){
    		super(name,age);
    	}
    }
    let  b = new B('lisi',9);
    b.eat();// '测试'
    b.eat2();// error
    B.eat2();// '测试2'
    

    2.public: 修饰 属性 和 方法 公共的,任何地方 都可以访问

    • 不写修饰符 默认 就是 public

    3.private: 修饰 属性 和 方法 私有的 , 只能在 本类 内部使用,其余地方 均不可以 访问 实例化对象 和 类 也不可 访问。(子类也不行)

    *eg:

    class A {
    	name:string;
    	age:number;
    	constructor(name:string,age:number){
    		this.name = name;
    		this.age = age;
    	}
    	private eat(){
    		console.log('测试');
    	}
    	eat2(){
    		this.eat(); // '测试'
    	}
    }
    var  a = new A('zhangsan',8);
    a.eat(); // error
    A.eat(); // error
    

    4.protected: 修饰 属性 和 方法 被 保护的, 被类 内部 以及 其 子类 内部 非 static 方法 内 可 访问,实例化 对象 和 类 也不可访问

    class A {
    	name:string;
    	age:number;
    	constructor(name:string,age:number){
    		this.name = name;
    		this.age = age;
    	}
    	protected eat(){
    		console.log('测试');
    	}
    	eat2(){
    		this.eat(); // '测试'
    	}
    	private eat3(){
    		this.eat(); // '测试'
    	}
    	static eat4(){
    		this.eat(); //  error
    	}
    }
    var  a = new A('zhangsan',8);
    a.eat(); // error
    A.eat(); // error
    
    class B extends A {
    	constructor(name:string,age:number){
    		super(name,age);
    	}
    	eat5(){
    		this.eat(); // '测试'
    	}
    	private eat6(){
    		this.eat(); // '测试'
    	}
    	protected eat7(){
    		this.eat(); // '测试'
    	}
    	static  eat8(){
    		this.eat(); //  eror
    	}
    }
    let b = new B('李四',9);
    b.eat(); //error
    B.eat(); // error
    
    
    展开全文
  • //err //修饰符 //public 修饰的属性或方法是共有的,可以在任何地方被访问到,默认所有属性和方法都是public的 //private 修饰的属性或方法是私有的,不能在声明它的类的外部访问 //protected 修饰的属性或方法是...
  • TS中类的修饰符

    2021-10-03 18:14:18
    // public 公有 在类里面,子类 类外面都可以访问 ...//属性不加修饰符默认公有public class Person { public name: string //公有属性 public关键词可省略 constructor(name: string) { this.name = ...
  • 第三章 Typescript基础语法(三)02——public默认修饰符 & private私有修饰符 & protected受保护修饰符 & readonly只读修饰符 公共,私有与受保护的修饰符 1、默认为public 在上面的例子里,我们可以...
  • TS4 新特性一览

    2021-01-14 13:38:01
    4.0 新特性:可变元组类型ts4 在 ts3 元组类型的基础上扩充了三点功能:1.支持 spread 运算符在元组类型中作为泛型通过这种方式,开发者可以定义元素类型不确定的数组或元组,同时编译器也可以自动推断出数组或元组...
  • 类 class 类名{ //属性 属性名:类型; //ts中必须给属性添加数据类型 ... //构造方法 constructor(形式参数名:类型){ //必须用构造函数给属性初始化值 //构造方法的作用 //1...
  • TypeScript中的访问修饰符 ​ 访问修饰符指的就是可以在类的成员前通过添加关键字来设置当前成员的访问权限。typescript中主要有三个访问修饰符: ​ 1、public: 公开的,默认 任何对象在任何地方都可以进行访问 ​ ...
  • ts中类的定义、继承、修饰符

    千次阅读 2019-06-08 17:04:45
    ts中类的定义 class Person{ name: string // 属性 前面省略了public关键词 age: number // 构造函数,实例化类的时候触发的方法 constructor(name:string, age:number){ this.name = name this....
  • TS中的类(class)和修饰符基本认识类中的成员修饰符一、访问修饰符二、只读修饰符三、静态修饰符 基本认识 我们知道,类class出现的目的,其实就是把一些相关的东西放在一起,方便管理 类中包含两个东西(也叫成员...
  • 注:使用 extends 关键字实现继承,...用static修饰的方法或属性是静态化方法或属性,它们不需要实例化,而是直接通过类来调用; class Animal { static isAnimal(a) { return a instanceof Animal; } } let a...
  • TypeScript中访问修饰符

    2020-01-03 11:01:36
    ts支持以下访问修饰符: public:所有定义成public的属性和方法都可以在任何地方进行访问。 class Animal { public age:number=10; public run() { console.log("这是一个跑的方法") } } class Dog extends ...
  • 修饰符的分类 1.public:公有, 在类 子类 和类外面 都可以被访问到 2.protected :保护 ,在类 , 子类里面可以访问到,在类外面访问不到 3.private:私有 ,只能在类里面访问,子类 类外部都不可以访问 ...
  • 一个TypeScript库,用于使用类型安全的修饰符有效地构建GraphQL API。 项目目标: GraphQL模式和代码之间的类型安全性尽可能接近100%; 如果编译,则不应有运行时类型错误 模式类型和TS类型的单一事实来源 围绕轻...
  • // ts中的类 // class Person { // public name: string // 属性 // constructor(n: string) { // 实例化类的时候,触发的方法 // this.name = n // } // run() { // alert(this.name) // } // getName(): string...
  • vue修饰符学习

    2018-03-29 00:36:00
    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <...修饰符</title> <style> *{margin: 0;padding: 0;} body{padding-left: 10px;} h1{color: red} ...
  • TS中类与类的继承、修饰符

    千次阅读 2019-07-10 17:37:18
    1、ts定义类 class class Person { public name: string //属性 public关键词可省略 constructor(name: string) { //构造函数 实例化触发的方法 this.name = name; } getName(): string { return this.name; } set...
  • TS中类的定义 // ts中类的定义 class Person { name: string; //属性 前面省略了public关键词 constructor(name: string) { //构造函数 实例化类的时候触发的方法 this.name = name; } getName(): string { ...
  • TypeScript -访问修饰符

    2019-04-09 21:58:00
    * public :若没有出现访问修饰符,默认的是public:公共的,项目内都可调用 * private:private表示私有,除了class自己之外,任何其他脚本都不可以直接使用 */ class People { public name: string; age: number...
  • 一,前言 基于原型prototype的JS,一直在模拟面向对象, ...在TS中,对ES6的类进行了增强,引入了更多特性 二,定义一个类 使用TS定义一个类: class Dog { constructor(name: string) { this.name = name; } na...
  • 不能跟abstract共存的修饰符 private private私有的,子类不能重新,跟abstract冲突 final abstract修饰的类子类需要重写,但是final修饰的不能被子类重写,相互冲突,不能共存. static static修饰的,要被实例化可直接...
  • 对于顶级类: 对于private很好理解,我们的软件系统由多层构成,并...对于内部类的话:则是四个访问修饰都可以使用,但需注意:一般是java文件对应一个类,但是一个文件里面也可以写多个类,但是只能有一个public...
  • vue3之自定义事件和自定义修饰符 官方建议我们组件发送自定义事件的时候,先在组件里面定义一下 父组件 // 父组件 <template> <div> <child v-model="text" v-model:name="name" /> </div&...
  • 修饰符.sync的用法

    2020-04-29 19:26:07
    修饰符.sync的用法 单个props数据绑定用法 对象型props数据绑定用法 在vue.2.3.0从vue 1.0.0里面重新拿会修饰符.sync 很明显它的意思就是说.sync修饰符可以像v-model一样实现类似双向绑定的场景用法。 还有一点...
  • 自己搞一个ts文件 里面写代码如下,试一下就行了 /* 1、vscode配置自动编译 1.第一步 tsc --inti 生成tsconfig.json 改 "outDir": "./js", 2、第二步 任务 - 运行任务 监视tsconfig.json 2、...
  • 访问修饰符protected

    2017-07-26 20:48:52
    protected修饰符的确让我有点困惑。例如:Object的clone()方法就是protected修饰的。发现,有的时候可以访问,但很多时候根本访问不到。 (一)下面就以clone()方法为例 我在SuperClass类中,不重写clone(),...
  • 装饰器是一种特殊类型的声明,它能够被附加到类声明,方法,访问,属性或参数上。 装饰器使用@expression这种形式,expression求值后必须为一个函数,它会在运行时被调用,被装饰的声明信息做为参数传入。 必须...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,900
精华内容 2,760
关键字:

ts修饰符