首页 > 编程语言 >typescript仅仅是为了给javascript增加类型而对java的一个仿制吗

typescript仅仅是为了给javascript增加类型而对java的一个仿制吗

时间:2024-05-02 15:44:53浏览次数:16  
标签:typescript java javascript their 类型 types

如果是这样,我不直接学习java或者c#就好了吗?(不考虑前端编程这个因素)

或者换句话说,typescript跟java在语法语义有什么不同吗?能给编程带来什么帮助吗?

带着这个疑问,翻了一下现有的资料,找到typescript官网的一段解释,觉得有点意思,翻出来,供大家参考。

https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes-oop.html

Rethinking Types

These aspects describe a reified, nominal type system. The types we wrote in the code are present at runtime, and the types are related via their declarations, not their structures.

TypeScript provides a number of mechanisms to work with types in a set-theoretic way, and you’ll find them more intuitive if you think of types as sets.

简单讲,typescript将类型看做集合们。这个思想可以说总算回归到正义了。

 

其他的没有看懂,鸭子类型的实现似乎太宽泛了。

另外,由于编译过程中将类型信息抛弃了,造成运行时类型反射没法进行,不能不说是一个遗憾。

 

标签:typescript,java,javascript,their,类型,types
From: https://www.cnblogs.com/perillacodeplex/p/18170250

相关文章

  • Java(4)-十大排序算法
    更好的总结:RUNOOB.COM十大经典排序算法冒泡排序冒泡排序的基本思想是比较数组中相邻的两个元素,根据比较结果交换它们的位置,让较大的元素排到数组末尾。遍历过程:首轮遍历:从数组的第一个元素开始,比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置,从而第一遍遍......
  • Java线程池核心线程用尽后为何优先排队而不是继续创建线程直至最大线程数?
    前阵子在v2ex上看到这篇帖子讨论这个问题,有意思的是这个如此基础的问题在Javaer的世界里并没有广泛的共识,下面的回答也是七嘴八舌的,刚好在《JavaPerformace》上看到对这个问题的解释,尝试总结一下。原因书中对线程池的解释基于以下几点前提:如果CPU已经跑满,增加线程并不能提高......
  • 一份透心凉的北森java冷面(面经)
    1.对于分布式的理解2.几台机器合作怎么保证高可用3.es打了几个节点4.为什么es快5.es的build和body的区别6.es想进行时间范围搜索,用到什么命令和接口7.es的索引有哪些8.redis为什么搜索快9.在什么地方使用了redis10.将数据直接放到本地内存里更快,为什么用redis11.分布式......
  • java命名规范
    1、java文件名规范a、一个文件中最多只能有一个public类且文件名必须和public类名一致b、文件中可以有多个类,若无public修饰的类,此文件名可以是任意名2、java类与成员命名规范a、类名规范-类名首字母必须大写,使用驼峰命名法b、类修饰符(写在类前边,只有两种)-public-defau......
  • 05.Java 方法详解
    1.方法的定义及调用设计方法的原则:一个方法只完成一个功能,有利于后期的扩展方法的定义:修饰符(可选)返回值类型方法名(参数类型参数名(可选)){方法体return返回值;}2.方法重载重载:就是在一个类中,有相同的函数名称,但形参不通的函数方法的重载规则:方法名称必......
  • Java注解和反射
    元注解:负责注解其他的注解,Java定义了4个标准的meta-annotation类型@Target:用于描述注解的适用范围@Retention:表示需要再什么级别保存该注解信息,用于描述注解的生命周期(source<class<runtime)@Document:该注解江北包含在javadoc中@Inherited:说明子类可以继承父类中的注解自......
  • day29-JavaScript(1)
    1、JavaScript的历史1.1、JavaScript的历史JavaScript因为互联网而生,紧随着浏览器的出现而问世。回顾它的历史,就要从浏览器的历史讲起。1990年底,欧洲核能研究组织(CERN)科学家TimBerners-Lee,在全世界最大的电脑网络——互联网的基础上,发明了万维网(WorldWideWeb),从此可以在网......
  • 04.Java 流程控制
    1.用户交互ScannerScanner对象:获取用户的输入基本语法:Scanners=newScanner(System.in);通过Scanner类的next()和nextLine()方法获取输入的字符串,在读取前一般使用hasNext()和hasNextLine()判断是否还有输入的数据。next():一定要读取到有效字符后才可以结束......
  • Java多线程
    程序,进程,线程程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念;进程是执行程序的一次执行过程,是一个动态的概念,是系统资源分配的单位;通常在一个进程中可以包含若干个线程,线程是CPU调度和执行的单位;若是单核cpu,则多线程是模拟出来的,在一个cpu的情况下,在同......
  • Java IO流之为什么要手动关闭IO流
    目录1IO流关闭1.1问题引入1.2为什么IO流需要手动关闭1.3正确关闭流姿势介绍1.3.1在try中关流而没在finally中关流1.3.2在关闭多个流时将其放在一个try中1.3.3在循环中创建流在循环外关闭1.3.4关闭多个流时没用遵循后定义先释放原则1.3.5jdk7及以上版本推荐try-......