Lua语言
简单的脚本语言,可以做后端使用
table类型
Lua语言中没有map,但是table可以作为类似map的能力使用
local tokenTable = {}
tokenTable["service1"] = "b9b0ef8c-3adc-46f8-ae94-0494ba83bc58"
tokenTable["service2"] = "e4f1496e-51b9-11ec-bf63-0242ac130002"获取对应值时可以
return tokenTable["service1"]或
local str = "service1"
return tokenTable[str]nil类型
Lua语言中的不存在为nil类型,判断为nil的方法包括:
使用 == 判断
if v == nil then
……
end使用 == 判断的时候,建议与空值分开一起判
if not token or token == "" then
print("token is nil or empty")
end使用not判断,推荐
if not token then
print("token is nil")
else
print("token has value:", token)
end但是这里需要注意,nil和false都判断为假值,可以先判断值是否存在:
-- 安全做法:先检查变量是否存在
if token ~= nil then
print(token)
endJavaScript
TypeScript
typeScript的语言特性
TypeScript 是 JavaScript 的一个静态类型超集,它在 JavaScript 的基础上增加了可选的类型注解和编译时类型检查,最终会被编译成纯 JavaScript 运行
TypeScript的类型特性包括:
静态类型:ts建议开发人员在开发时就指定好变量类型、参数类型和返回类型
function greet(name: string): string {
return `Hello, ${name}`;
}
let age: number = 25;类型推断:如果开发人员不指定类型,TypeScript 也能根据赋值自动推断类型
let message = "Hello"; // TypeScript 推断为 string 类型
// message = 42; // 编译报错接口与类型别名:用于定义复杂类型的形状
interface User {
id: number;
name: string;
email?: string; // 可选属性
}
type ID = string | number; // 联合类型高级类型支持:编写可复用的、适用于多种类型的组件,支持包括泛型、联合类型、交叉类型、条件类型、映射类型等强大特性
function identity<T>(value: T): T {
return value;
}typescript的编译特性
typescript代码文件是.ts文件和.tsx文件
.ts:纯 TypeScript 代码(逻辑、服务、工具函数、Node.js 后端等),编译后是.js文件
.tsx:支持ts代码+react组件,编译后是.jsx或.js
需要特别主义的是,在.tsx文件中泛型<T>会被识别为react前端代码的HTML标签头,因此需要特殊处理
// ❌ 在 .tsx 中会报错
const func = <T>(arg: T) => arg;
// ✅ 正确写法 1:添加逗号
const func = <T,>(arg: T) => arg;
// ✅ 正确写法 2:使用 extends 约束
const func = <T extends unknown>(arg: T) => arg;tsconfig.json会影响tsx的编译逻辑
typescript的基础文件
tsconfig.json
不管什么脚手架都会生成这个文件,是一个核心配置文件,定义 TypeScript 编译器的行为,包括:
compilerOptions:编译选项(目标版本、模块系统、严格模式、输出目录等)。include/exclude:指定包含或排除的源文件。extends:可继承其他配置。
{
"compilerOptions": {
"target": "es2016",
"module": "commonjs",
"strict": true,
"outDir": "./dist",
"rootDir": "./src"
}
}入口源文件
一般脚手架会生成默认的入口源文件,有三类
src/index.ts(纯 TypeScript 项目)src/main.tsx(React + TypeScript 项目)src/app.ts(NestJS 等)
package.json
Node.js 项目的标配文件,定义项目元信息、依赖、脚本命令等
TypeScript 项目中通常包含:
dependencies/devDependencies:如typescript、@types/node、react等。scripts:如"build": "tsc"、"start": "node dist/index.js"。
通过 npm init 或框架脚手架自动生成
评论区