1. TS概述

1/27/2023 ts

# TypeScript概述

TypeScript:JavaScript的超集(扩展集)。是由微软开发并维护的一门编程语言。它的目的是启用强类型来增强 JavaScript 在大型应用的开发能力。
TypeScript包含:JavaScript、类型系统、es6。最终会被编译为JavaScript

# TS 和 JS的区别是什么?

  • TypeScript = Type + JavaScript(在 JS 基础之上,添加了类型支持)
  • JS是脚本语言,不需要编译,直接在运行环境运行。(JS没有编译环节) 从编程语言的动静来区分:
  • TypeScript 属于静态类型的编程语言,编译期做类型检查
  • JavaScript 属于动态类型的编程语言,执行期做类型检查

静态类型语言: 一个变量声明时类型就是明确的,声明过后,他的类型就不允许再被修改了 动态类型语言: 运行阶段才能明确变量的类型,变量的类型可以随时发生改变

强类型的优势:

  • 错误会更早暴露
  • 代码更智能,编码更准确
  • 重构更可靠
  • 减少不必要的类型判断

弱类型的问题 (1) 在运行阶段才能发现代码的异常

const obj = {}
obj.foo() // 这里会在运行时报错
1
2

(2) 函数参数的类型没有收到限制,类型不明确可能造成函数功能发生改变

function sum(a, b) {
  return a + b
}
console.log(sum(1, 2))  // 3
console.log(sum(1, '001'))  // 1001
1
2
3
4
5

(3) 对象属性名自动转换为字符串,对对象索引器错误的用法

const obj = {}
obj[true] = 100
console.log(obj['true'])  // 100
1
2
3
最近更新时间: 2/6/2023, 3:05:25 AM
강남역 4번 출구
Plastic / Fallin` Dild