TypeScript ReferenceError:未定义

时间:2017-09-28 19:45:37

标签: javascript typescript

我有一个打字稿应用程序。它看起来像这样:

Salon.ts

export class Salon {
clients: Client [];
constructor() {
    this.clients = [];
}

public addClient(c: Client) {
    this.clients.push(c);
}}

Client.ts

class Client {
name: string;
surname: string;
constructor(name, surname){
    this.name = name;
    this.surname = surname;
}}

在我的服务器文件Serv.ts中,我希望获得带有客户端信息的发布请求并将其添加到客户端数组中:

import {Salon} from "./Salon.js";
s: Salon = new Salon();

app.post("/addClient", (req, res) => {
if (req.query.name === undefined | req.query.surname=== undefined){
    res.status(400);
    res.setHeader("Content-Type", "text/html; charset=utf-8");
    res.end("Your name and surname please");
} else {
    console.log(req.query.name, req.query.age);
    s.addClient(new Client(req.query.name, req.query.surname));
}
});

当我运行我的应用程序并尝试发布请求时,它会给我一个错误“ReferenceError:s未定义”。 我该如何处理?

1 个答案:

答案 0 :(得分:3)

这是因为在var/const/let的帮助下错过了变量声明。您应该在let之前添加s,以指定您正在创建新变量,但不使用旧变量。