当前位置: 首页 > Web前端 > JavaScript

认识TypeScript一

时间:2023-03-27 10:22:05 JavaScript

1。声明普通变量时:TS中的核心用法离不开“:”,没错,就是冒号。在冒号之后,您可以直接定义变量的类型。当你没有定义变量类型时,ts会在你给变量赋值时隐式地为你声明。如下图,我没有声明变量B的类型,但是会在我准备再次给B赋值的时候提示:2.类(如果你不理解类的概念,我的建议是去mdn学习一下js类相关知识)(和普通变量一样的道理,你也可以不设置属性类型)ts会自动帮你判断,但实际情况不会省略,这里只是说明可以这样写。per是person类的一个实例化对象,person类中的属性和方法都会存在于per的实例化对象中。(儿子继承中的一些父亲的基因不算多~)有一种特殊情况,当你调用类中的方法或属性时没有实例化,可以在该人的属性前加上关键字static(静态)班级。这个属性称为内部类的特有属性,简称类属性。那么这个时候,name属性是不会被“复制”到实例化对象中的。你可以暂时理解为,这东西是父亲的私人物品,不允许儿子继承。同理,类中也可以定义方法,es6的切头函数写法也是可以的。但是你可能已经发现了,我在定义类的时候把属性写死了,所以我新建的所有实例化对象都具有相同的名称、年龄和方法。那没有意义,我还不如直接声明一个对象。这时候,就有一位让初学者闻风丧胆,这就是一位重量级选手。constructor()构造函数是不是听到构造这个词就头疼了?其实你理解了,也是一样的。说实话,刚开始学习js的时候,看到constructor()就被吓到了。只要在文档中看到这个词,就想翻页。不过现在不要惊慌,我会一步一步地带你分析。有句老话,非以婚姻为导向的谈话对象都是流氓。在一个类中,所有不以实例化为目的定义的类都是空气!这句话怎么理解,就像上面的代码,当我新建了一个实例,而它没有静态方法,那么在代码中就没有任何意义,可以看成是空气。但是如果我现在新建一个实例。没错,我的new会找这个构造函数,其实就是一个普通的函数,但又不那么普通。this的指向总是指向新实例化的对象。对于阮逸风英雄文档推荐的这个解释,小辈实在是没有能力解释到这一点。你只需要知道,当我创建一个新的人时,我会去到person类中的构造函数。需要注意的是你的new是一个class。首先要确保的是,你需要在你的类中拥有这两个属性,然后才能赋值。你的类由两部分组成,1,属性2,构造函数这时候ts会提示,你连这个属性都没有,你让我用构造函数创建这个属性,你在逗我吗?所以正确的写法如下。你可能会问,啊,我的类里面有属性声明,为什么我的构造函数的参数还要再写一遍呢?麻烦。别问了,记得是这样写的。还有一种情况,刚入门的朋友很容易迷糊。有的教程里面有个方法在下面,一下子就懵了。你不是刚刚在构造函数中设置了属性吗?怎么突然往外跑?我知道你很疑惑为什么call方法不能写在构造函数中?这不就相当于给实例对象赋予了一个新的方法吗?您必须记住,当您是新手时,您会调用构造函数。在这里写你的方法相当于让构造函数帮你执行,并不是你把这个方法赋值给新的实例。知道了。什么?你还是不明白,好吧,我给你换一种写法明白吗?其实方法和这里写的是一样的。但是方法一般写在构造函数下,构造函数只是给实例化的对象赋属性值而已。