添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
//对静态属性做修改 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());