news 2026/8/23 19:26:31

TypeScript 随手记 —— 1

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TypeScript 随手记 —— 1

1. 什么是TypeScript

众所周知,JavaScript 是一种弱类型语言,就是不会预先进行编译,然后在执行的时候一边执行一边进行编译这种的,然后这样就非常容易出现问题。而且还不好解决。
然后为了解决这个问题,产生了TypeScript,TypeScript 是JavaScript 的一个超集,就是为了解决这个问题的,就像C/C++一样,预先进行了编译
这样可以提前发现问题,减轻麻烦。

2. TypeScript 和 JavaScript 的对比

JavaScriptTypeScript
依赖全局作用域,通过<script>标签顺序管理依赖。基于模块(Module),通过 import/export 语句管理依赖。
可在HTML中混合使用多个<script>标签(内联或外部)。通常通过模块导入 (import) 来组合 .ts、.js 等文件
默认不进行任何类型检查,即使代码有误也可能静默失败。默认进行严格的类型检查,确保代码的类型安全。
提供多层级的控制机制,可以精细地开启或关闭检查。

3. 使用TypeScript的一个例子

参考项目: https://github.com/topics/hydrooj

配置代码

{ "compilerOptions":{ "target" : "ES2020" , "module": "commonjs", "lib":[ "ES2020" , "DOM"] "outDir" : "./lib" , "rootDir" : "./src", "strict" : true; "esModuleInterop" : true; "skipLibCheck" : true, "forceConsistentCasingInFileNames": true, "declaration" : true, "moduleResolution" : "node" } , "include" : ["src / ** /* "], "exclude" : ["node_modules"] }

解释说明

{"compilerOptions":{"target":"ES2020",// 编译为 ES2020 语法。"module":"commonjs",// 使用 CommonJS 模块系统(Node.js 风格)。"lib":["ES2020","DOM"],// 包含 ES2020 和 DOM 的类型定义(例如 console、document、window)"outDir":"./lib",// 编译后的 JavaScript 文件输出目录。"rootDir":"./src",// TypeScript 源代码的根目录。"strict":true,// 启用所有严格的类型检查选项(严格模式)"esModuleInterop":true,// 帮助从 CommonJS 模块导入默认导入(例如 import React from 'react')"skipLibCheck":true,// 跳过对声明文件(.d.ts)的类型检查。"forceConsistentCasingInFileNames":true,// 强制文件名大小写一致(处理 Windows/macOS 差异)"declaration":true,// 生成 .d.ts 声明文件。"moduleResolution":"node"// 使用 Node.js 风格的模块解析算法。},"include":["src/**/*"],// 包含 src 文件夹及其子文件夹中的所有文件。"exclude":["node_modules"]// 排除 node_modules 文件夹}
  • JS 的注释使用的是 // 和 /**/ , 不是
  • 在定义数组时,使用的Array , 既是一个数组,又是一个对象。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/23 19:23:51

从模板匹配到特征识别:构建稳定图像自动化流程的工程实践

你是不是也遇到过这样的场景&#xff1a;写一个自动化脚本&#xff0c;需要判断屏幕上某个图标是否出现&#xff0c;然后点击它&#xff1b;或者开发一个游戏辅助工具&#xff0c;需要识别游戏画面中的特定物品&#xff1b;又或者在做UI自动化测试时&#xff0c;需要验证某个按…

作者头像 李华
网站建设 2026/8/23 19:22:13

螺旋矩阵算法精讲:从边界处理到竞赛实战,掌握模拟思维

1. 项目概述&#xff1a;螺旋矩阵的算法价值与竞赛意义最近在带几个学生准备蓝桥杯&#xff0c;发现很多同学一看到“螺旋矩阵”这类题目就有点发怵&#xff0c;觉得边界条件太绕&#xff0c;代码写着写着就乱了。其实&#xff0c;螺旋矩阵是算法竞赛中一个非常经典的“模拟”类…

作者头像 李华
网站建设 2026/8/23 19:21:51

C# TCP Socket通信中粘包与分包问题的优雅解决方案

1. 从一次线上故障说起&#xff1a;为什么TCP Socket通信必须处理粘包与分包那天晚上&#xff0c;我正在家里调试一个工业数据采集的C#服务端程序。这个程序负责通过TCP Socket接收来自几十台现场PLC设备上报的实时生产数据。白天测试时一切正常&#xff0c;数据包解析精准&…

作者头像 李华
网站建设 2026/8/23 19:20:26

大模型时代:如何打造高通过率的技术简历

1. 为什么CRUD简历正在失效&#xff1f;2023年秋招季的HR邮箱里&#xff0c;平均每封简历停留时间已经缩短到7.4秒&#xff08;数据来源&#xff1a;某头部招聘平台内部统计&#xff09;。当面试官连续看到第20份写着"精通SpringBoot增删改查"的简历时&#xff0c;你…

作者头像 李华
网站建设 2026/8/23 19:18:52

Docker实战系列: 单机Docker部署Nginx +Tomcat高可用集群完整实践

Docker实战系列: 单机Docker部署Nginx + Tomcat高可用集群完整实践 前言 一、相关名词介绍 1.1 Nginx介绍 1.2 Tomcat介绍 二、本次实践规划 2.1 本地环境规划 2.2 本次实践介绍 2.3 整体架构说明 三、本地环境检查 3.1 检查Docker服务状态 3.2 检查Docker版本 3.3 检查docker…

作者头像 李华
网站建设 2026/8/23 19:09:55

SkyWalking Trace ID集成Logback日志:原理、实现与生产实践

1. 项目缘起&#xff1a;为什么要在日志里看到Trace ID&#xff1f;如果你做过微服务&#xff0c;肯定遇到过这样的场景&#xff1a;一个用户请求进来&#xff0c;在网关、订单、库存、支付等十几个服务里转了一圈&#xff0c;最后报了个错。你打开日志一看&#xff0c;每个服务…

作者头像 李华