TS知识点

简介: TS知识点

1. 什么是 TypeScript 

TypeScript 是添加了类型系统的 JavaScript ,适用于任何规模的项目。

TypeScript 是一门静态类型、弱类型的语言。

TypeScript 是完全兼容 JavaScript 的,它不会修改 JavaScript 运行时的特性。

TypeScript 可以编译为 JavaScript ,然后运行在浏览器、 Node.js 等任何能运行 JavaScript 的环境

中。

TypeScript 拥有很多编译选项,类型检查的严格程度由你决定。

TypeScript 可以和 JavaScript 共存,这意味着 JavaScript 项目能够渐进式的迁移到 TypeScript 。

TypeScript 增强了编辑器( IDE )的功能,提供了代码补全、接口提示、跳转到定义、代码重构等

能力。

TypeScript 拥有活跃的社区,大多数常用的第三方库都提供了类型声明。

TypeScript 与标准同步发展,符合最新的 ECMAScript 标准( stage 3 )。

2. ts  Js 的区别

TypeScript 是 JavaScript 的超集,扩展了 JavaScript 的语法,因此现有的 JavaScript 代码可与

TypeScript 一起工作无需任何修改, TypeScript 通过类型注解提供编译时的静态类型检查。

TypeScript 可处理已有的 JavaScript 代码,并只对其中的 TypeScript 代码进行编译。

安装ts命令行:npm install typescript

3. 基础数据类型

js中,分基础数据类型和引用数据类型

基础类型有:stringbooleannumbernullundefined
此处不要使用StringBooleanNumber等,这几个表示的是构造函数,不是基础数据类型

1.布尔值

Ts中,使用 boolean 定义布尔值类型
2.数字

Ts中,使用 number 定义布尔值类型

编译结果:
其中 0b1010 和 0o744 是 ES6 中的二进制和八进制表示法 ,它们会被编译为十进制数字。

3.字符串

使用 string 定义字符串类型:

编译结果:

let bool:boolean = true;
let decLiteral: number = 6;
// 十六进制
let hexLiteral: number = 0xf00d;
// ES6 中的二进制表示法
let binaryLiteral: number = 0b1010;
// ES6 中的八进制表示法
let octalLiteral: number = 0o744;
// NaN
let notANumber: number = NaN;
// 无穷大
let infinityNumber: number = Infinity;

编译结果:

var decLiteral = 6;
var hexLiteral = 0xf00d;
// ES6 中的二进制表示法
var binaryLiteral = 10;
// ES6 中的八进制表示法
var octalLiteral = 484;
var notANumber = NaN;
var infinityNumber = Infinity
//其中 0b1010 和 0o744 是 ES6 中的二进制和八进制表示法,它们会被编译为十进制数字。

字符串

使用 string 定义字符串类型:

let myName: string = 'Tom';
let myAge: number = 25;
// 模板字符串
let sentence: string = `Hello, my name is ${myName}.
I'll be ${myAge + 1} years old next month.`;
//编译结果
var myName = 'Tom';
var myAge = 25;
// 模板字符串
var sentence = "Hello, my name is " + myName + ".I'll be " + (myAge + 1) + "
years old next month.";
相关文章
|
人工智能 安全 Android开发
探索安卓与iOS的安全性差异:一场永无止境的较量
在移动操作系统的领域中,安卓(Android)和iOS以其独特的优势各自占领了市场的一大半江山。但它们在安全性上的差异,一直是业界和用户关注的焦点。本文将深入分析这两个平台的安全架构、更新机制以及隐私保护措施等方面的差异,揭示它们如何在不断的攻防对抗中进化,以及这些差异对用户选择的潜在影响。通过比较研究,我们将探讨哪种系统更能有效地保护用户免受恶意软件和网络攻击的威胁,并讨论未来移动安全趋势可能如何塑造这两种系统的发展方向。
411 0
|
存储 缓存 编译器
文件操作——C语言
文件操作——C语言
salt开启debug命令|4-13
salt开启debug命令|4-13
|
人工智能 前端开发 JavaScript
基于Springboot+JSP社区志愿者管理平台
本项目基于Springboot+JSP开发实现一个前后端分离的社区志愿者管理平台系统。前端用户注册登录后可以查看相关活动信息、培训信息、新闻咨询信息等,并申请参与活动和参加志愿者的培训活动,在线在线论坛的讨论,在个人中心处可以查看自己参与的活动和培训。后台管理员主要管理人员信息、活动信息、培训信息、资讯信息、留言信息和轮播图信息等,具体参看下面系统功能展示。
254 0
|
存储 NoSQL 关系型数据库
Redis -- 开篇热身,常用的全局命令
Redis -- 开篇热身,常用的全局命令
196 0
|
SQL 关系型数据库 MySQL
导航【mysql高级】【java提高】
导航【mysql高级】【java提高】
293 0
(区间dp最长上升子序列,最长下降子序列)
(区间dp最长上升子序列,最长下降子序列)
221 0
|
存储 算法 C#
使用 MNIST 图像识别数据集
下载代码示例 机器学习领域中最迷人的主题之一是图像识别 (IR)。 使用红外系统的示例包括使用指纹或视网膜识别的计算机登录程序和机场安全系统的扫描乘客脸寻找某种通缉名单上的个人。
1679 0
|
4天前
|
人工智能 JavaScript Linux
【Claude Code 全攻略】终端AI编程助手从入门到进阶(2026最新版)
Claude Code是Anthropic推出的终端原生AI编程助手,支持40+语言、200k超长上下文,无需切换IDE即可实现代码生成、调试、项目导航与自动化任务。本文详解其安装配置、四大核心功能及进阶技巧,助你全面提升开发效率,搭配GitHub Copilot使用更佳。