概述

javascript是一种弱类型语言,弱类型很随意,很灵活,这是它的优点,同时也是它的缺点;同一个变量,既可以是数值型,也可以是字符串型,还可以是其他各种对象类型,在js中,给你一个变量名,你能一眼就确定它的类型吗,恐怕大多数情况下,你不能确定吧,即使最开始是一个数字赋值给了它,你咋知道中间的代码不会把它变成其他类型呢。

强类型和弱类型

首先让我们简单区分一下什么是强类型和弱类型语言吧,当然js是名副其实的弱类型语言

强类型

给定一个变量, 首先得声明它的类型 int a; 当然可以同时给它赋初值,int a = 1;。后续我们如果给它赋值,只能赋值为整型的,a = 2;,如果你想给它赋值为字符串型,如a = "xxx"; 编译器直接就给你报错了,所以也谈不上后续的过程了。

弱类型

弱类型语言就没有这些限制

下面步入正题

typescript

typescriptjavascript的超集,完全兼容javascript,但又扩展了许多功能,相信在了解之后你会爱上它的,为什么这么说呢,因为给定你一个对象,你可以借助于编辑器的只能提示,一窥它里面有哪些属性,那些方法等,不用到处找定义。typescript的官网在此

声明变量类型的形式为 var a: TypeType为类型,一旦声明了Type类型,后续a只能接收Type类型,不能接收其他类型,因为编辑器会给你智能提醒的,当然编译的时候,也会给你错误的。

基本类型

基本类型有 number,string,boolean,undefined,null

var v1: number = 1
var v2: string = 'hello'
var v3: boolean = true
var v4: undefined = undefined
var v5: null = null

数组类型

// 字串数组
var arr_s: string[] = ['xxx', 'yyy']
// 数字数组
var arr_n: number[] = [1, 2]

枚举

enum Gendar {male,female
}
var g: Gendar = Gendar.male

万能类型

any也就是相当于没有声明任何类型了

var a: any = 123

typescript探索(一)相关推荐

  1. 【TypeScript】探索 var 和 let 关键字之间的差异

    使用 var 关键字声明变量的最大问题之一是你可以轻松覆盖变量声明: var camper = "James"; var camper = "David"; c ...

  2. TypeScript基础入门 - 函数 - 简介

    2019独角兽企业重金招聘Python工程师标准>>> 转载 TypeScript基础入门 - 函数 - 简介 项目实践仓库 https://github.com/durban89/ ...

  3. 用typescript完成倒计时_「干货」将数十万行CoffeeScript代码迁移到TypeScript

    作者 | David Goldstein 译者 | 王强 策划 | 小智 转发链接:https://mp.weixin.qq.com/s/TK7kWXX4hR3e-jtpVMuBnw 序言 2017 ...

  4. 使用 TypeScript 改造构建工具及测试用例

    最近的一段时间一直在搞TypeScript,一个巨硬出品.赋予JavaScript语言静态类型和编译的语言. 第一个完全使用TypeScript重构的纯Node.js项目已经上线并稳定运行了. 第二个 ...

  5. Typescript前端接口联调自动化的探究与实践

    源宝导读:Web应用程序一般都是前后端分离的基本架构,而前后端很可能分别是两拨人分别开发,前后端的接口连调成为高频沟通的对象,开发内耗最大的也在这个环节.本文将分享如何基于OpenAPI将前后端接口协 ...

  6. 编程语言之父谈语言设计,龟叔大赞TypeScript

    争论哪门编程语言孰优孰劣,长期以来都是程序员乐此不疲的"娱乐活动".之所以说是娱乐活动,因为这些争论到最后往往只是各自在发泄情绪,再则就是,脱离使用场景去讨论所谓哪门语言更好并没意 ...

  7. 【详细教程】教你如何使用Node + Express + Typescript开发一个应用

    Express是nodejs开发中普遍使用的一个框架,下面要谈的是如何结合Typescript去使用. 目标 我们的目标是能够使用Typescript快速开发我们的应用程序,而最终我们的应用程序却是编 ...

  8. 自动化yaml文件_从YAML到TypeScript:开发人员对云自动化的看法

    自动化yaml文件 The rise of managed cloud services, cloud-native, and serverless applications brings both ...

  9. node deno_Deno手册:带有代码示例的TypeScript运行时教程

    node deno I explore new projects every week, and it's rare that one grabs my attention as much as De ...

最新文章

  1. oshi.systeminfo 获取cpu的数量_智能IC/CPU卡梯控系统的功能优势
  2. 【CentOS Linux 7】【gcc编译器】
  3. selenium切换窗口 java_WebDriver(Selenium2) 根据新窗口title切换窗口
  4. 游戏之旅 我的编程感悟_我的外展之旅的特别时刻
  5. mysql用户变量_MySQL用户变量的用法
  6. python列表、集合、字典推导测试
  7. LeetCode(653)——两数之和 IV - 输入 BST(JavaScript)
  8. 数据在内存中的大小端模式存储
  9. Java实训寒假自学总结(常见错误和异常处理)
  10. 芒种时节,某地为何无人收割小麦?
  11. 软件工程导论——软件工程介绍
  12. golang快速入门[3]-go语言helloworld
  13. linux系统使用命令一次显示日历,如何在Linux命令行上使用日历
  14. bzoj-1233 [Usaco2009Open]干草堆tower
  15. javaweb JAVA JSP水费管理系统JSP电费管理系统JSP缴费管理系统JSP水费缴费系统JSP水电费管理
  16. 高性能消息中间件 nsq 解析-介绍
  17. 计算机农业类的sci,农学类比较好投的SCI期刊有哪些
  18. Linux下udev规则详解
  19. 光纤布线系统如何打造绿色数据中心?
  20. php断言什么意思,一起学习PHP中断言函数的使用

热门文章

  1. C++中的struct与class继承方式
  2. mac git 冲突工具
  3. vim 图解常用快捷键操作
  4. Mac M1 环境下CV标注工具建设
  5. Python3下载图像小工具
  6. 2013-我的前事今生(完结篇)
  7. 创建型模式学习总结——设计模式学习笔记
  8. 大数据开发笔记(十):Hbase实践
  9. 大数据开发笔记(三):Mapreduce
  10. 大数据有哪些基本特征