目 录CONTENT

文章目录

脚本语言

FatFish1
2026-02-28 / 0 评论 / 0 点赞 / 5 阅读 / 0 字 / 正在检测是否收录...

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的方法包括:

  1. 使用 == 判断

if v == nil then
    ……
    end

使用 == 判断的时候,建议与空值分开一起判

if not token or token == "" then
    print("token is nil or empty")
end
  1. 使用not判断,推荐

if not token then
    print("token is nil")
else
    print("token has value:", token)
end

但是这里需要注意,nil和false都判断为假值,可以先判断值是否存在:

-- 安全做法:先检查变量是否存在
if token ~= nil then
    print(token)
end

JavaScript

http://www.chymfatfish.cn/archives/javascript

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/nodereact 等。

  • scripts:如 "build": "tsc""start": "node dist/index.js"

通过 npm init 或框架脚手架自动生成

0

评论区