用ts做四则运算

2018-10-22  本文已影响0人  郑无穷大

打开vscode,创建test.ts,添加

#!/usr/bin/env ts-node
console.log(process.argv)

mac下需要添加执行权限

chmod +x ./.test.ts

应该会报错,会提示找不到process,因此需要安装以下,执行下面代码

初始化项目的 package.json

npm init -y

安装 node 相关的类型定义

npm install @types/node

再次运行 ./test.ts

./test.ts
[ 'node', '/Users/frank/TypeScript/tsdemo/2.ts' ]
第一个参数是当前运行程序,第二个参数是运行的文件,之后是用户输入的参数

打开 ./node_modules/@types/node/index.d.ts 搜索 Process 就能看到 process 的定义了:

    export interface Process extends EventEmitter {
        stdout: WriteStream;
        stderr: WriteStream;
        stdin: ReadStream;
        openStdin(): Socket;
        argv: string[];
        argv0: string;
        execArgv: string[];
        execPath: string;
        ...

定义了字符串数组

下面是四则运算的代码

#!/usr/bin/env ts-node
let a: number = parseInt(process.argv[2])
let b: number = parseInt(process.argv[3])

if(Number.isNaN(a)|| Number.isNaN(b)){
    console.log('出错')
    return; // 有问题
    process.exit(2)
}
console.log(a+b)
process.exit(0)

其中,想退出,return 这句话有问题,因为不能在顶级作用域运行 return,如果我们需要退出程序,只能使用 process.exit(N),其中的 N 是返回值。

成功则返回 0, 失败则返回非 0。

**其中使用es2015语法,也会报错,只需要添加配置文件即可,创建tsconfig.json

{
    "compilerOptions": {
        "lib": [ "es2015" ]
    }
}

那么简单的四则运算就ok了。

上一篇下一篇

猜你喜欢

热点阅读