//对静态属性做修改
let greetMaker:typeof Greets = Greets
greetMaker.standardGreeting = 'Hey, there!'
// new 一个新的构造器得到新的结果
let greet2:Greets = new Greets()
console.log(greet2.greet())
js 是动态
类
型 (已经定义的变量可以更改为另一种
类
型变量)
ts 是
静态
类
型,在编译前会转换为 js,在编译阶段会进行
类
型检查
ts 是弱
类
型。
类
型系统按照[是否允许隐式
类
型转换]来分
类
,可分为强
类
型和弱
类
型
数据
类
型
基本
类
型
声明变量需在变量后写明
类
型,例如: let num:number = 0
基础
类
型:string、number、boolean、void、undefined、null、symbol
对象
类
型:{}、
Class
、function、[]
string
类
型
TypeScript
的
静态
类
型的含义:
以内容里的app为例,一旦将app设置为number
类
型,那么app这个变量则无法将它赋值成其他
类
型,只能为number
类
型。
TypeScript
的
静态
类
型的设置:
声明变量时在变量之后加入:和数据
类
型即可。
interface mingxing {
name:strig,
age:nubmer
let xiaohong: mingxing = {
name:xiaohong,
age:18
TypeScrip
对于
静态
语言最主要表现就是一个变量,声明时它的
类
型就明确的,而且呢,在变量声明过后它的
类
型就不允许被
修改
了。
动态
类
型:
动态
类
型语言就是在运行阶段才能够明确一个
类
型,而且变量的
类
型也可以随时发生变化。
静态
类
型与动态
类
型
JavaScript 使用动态
类
型,而
TypeScript
使用
静态
类
型。使用动态
类
型,您可以重新分配变量,因为数据
类
型可以更改。这在
静态
类
型中是不可能的,因为定义了数据
类
型意味着如果您尝试分配不同的数据
类
型,它将显示编译错误。所以
静态
类
型能使错误更早得暴露,代码更智能,编
1. 什么是
TypeScript
的
静态
类
型?
静态
数据
类
型(Static Typing),通俗的理解就是,一旦变量定义成某种
类
型,就无法改变。这里的无法改变指的是无法改变变量的
类
型,而不是变量具体的值。
通过一个小例子,便于理解:
如上图所示,这里定义了一个变量age,它的
类
型是number型,变量值为18,我可以通过赋值的方式改变age的值,这样不会报错。
但如果我要给age赋值一个字符串,就会出现如下报错:
原因是:我将string型数据’xiaoming’强行赋值给了number型变量age
1.ts是由微软开发的开源变成语言(vscode和ts都是微软提供的,vs里面很多ts的适配,里面有很多ts的插件,让写法更佳舒适)
2.ts是js的超集(超集的理解:ts在js之上,包含js所有最新的语法特性,包含es6、es7所对应的写法)
3.ts是开发大型应用的基石(为什么要学ts?很多大型项目都是基于ts来开发的,比如vscode,vue 3.0,react;越来越多的特性都偏向ts,大型应用基本都用ts语法
做
支持)
4.ts提供了更丰富的语法提示
5.ts在
有的时候,我们需要
修改
一个变量的值,但变量也许存在于 Jar 包中或其他位置,导致我们不能从代码层面进行
修改
,于是我们就用到了下面的场景,通过反射来进行
修改
变量的值。
定义一个实体
类
class
Bean{
private static final Integer INT_VALUE = 100;
利用反射
修改
私有
静态
常量方法
System.out.println(Bean.INT_VALUE);
Field field = Bean.
class
.getFi
在页面的布局中,经常会根据窗口的大小(或其他条件)动态的改成布局或样式。如:
isToggled(): boolean {
const dom: Element = document.querySelector('body');
return dom.
class
List.contains(this.pushRight
Class
);
to...
Field location = c1.getDeclaredField("Location"); location.setAccessible(true);
location.set(null, "aaa"); logger.info("location"+location.toString());