写 TypeScript 命令行工具
运行在命令行
在 .ts 文件的第一行添加这句可以在命令行运行 .ts 文件:
#!/usr/bin/env ts-no
运行以下会出错,原因出在第二行:
#!/usr/bin/env ts-node
console.log(process.argv);
解决办法:
npm i @types/node
成功与失败
在 node.js 中:
process.exit(0); // 表示成功
process.exit(1); // 0以及以上的数字表示失败
一个小问题
ts 中可以直接使用 isNaN() 、 parseInt() 等。
不能直接使用 Number.isNan() 因为语法比较新。
解决方法:
新建 tsconfig.json:
{
  "compilerOptions": {
    "lib": ["es2015"]
  }
}
重复声明变量或常量
同一个项目里的不同的 .ts 之间不能声明同一个变量或常量
解决办法:
把变量或常量 export。
const a: number = parseInt(process.argv[2]);
const b: number = parseInt(process.argv[3]);
或者:
export { a, b };
可选参数
在 TypeScript 的函数中,在参数名后加上 ? ,这个参数就是可选参数,可以搭配 || 使用。
function print(n?) {
  n = n || "请输入";
  console.log(n);
}