亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SyntaxError:意外的標識符節點 js

SyntaxError:意外的標識符節點 js

夢里花落0921 2022-07-08 17:45:56
class Point {    private x: number;    private y: number;    constructor(x: number, y: number) {      this.x = x;      this.y = y;    }    public distance(otherPoint: Point): number {      return Math.sqrt(          Math.pow(this.x - otherPoint.getX(), 2) +          Math.pow(this.y - otherPoint.getY(), 2));    }    public getX() {      return this.x;    }    public getY() {      return this.y;    }  }  class Circle {    private center: Point;    private radius: number;    constructor(center: Point, radius: number) {      this.radius = radius;      this.center = center;    }    public isInside(otherPoint: Point): boolean {      return this.center.distance(otherPoint) < this.radius;    }  }  class Triangle extends Point {      private z: number;      constructor(x:number, y: number, z: number){          super(x, y);          this.z = z;      }    public getZ(){        return this.z    }    public getPerimeter (otherPoint: Triangle): number{        return otherPoint.getX() + otherPoint.getY() + otherPoint.getZ()    }  }  let per = new Triangle(24, 61, 32);  console.log(per);所以當我嘗試編譯時它說private x: number;            ^SyntaxError: Unexpected identifier
查看完整描述

2 回答

?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

您正在嘗試像運行 JavaScript 一樣運行 TypeScript 文件。JavaScript 和 TypeScript 不一樣,node只能理解 JavaScript,不能理解 TypeScript。

您需要安裝軟件包typescriptts-node. 您可以在全局范圍內這樣做,以便您可以在任何地方使用它,用于單個文件:

npm i -g typescript ts-node

之后,您可以使用ts-node而不是node運行您的文件:

ts-node myScript.ts

這會將您的 TypeScript 文件即時編譯為 JavaScript 并node為您運行結果。


查看完整回答
反對 回復 2022-07-08
?
嚕嚕噠

TA貢獻1784條經驗 獲得超7個贊

我很確定要么存在格式問題,要么您使用的編譯器不喜歡語法,但這是我在 https://www.typescriptlang.org/play/中執行的代碼 ,它工作得非常好。


    class Point { 

    private x: number;

    private y: number;


    constructor(x: number, y: number) {

    this.x = x;

    this.y = y;

    }


    public distance(otherPoint: Point): number {

    return Math.sqrt(

        Math.pow(this.x - otherPoint.getX(), 2) +

        Math.pow(this.y - otherPoint.getY(), 2));

    }


    public getX() {

    return this.x;

    }


    public getY() {

    return this.y;

}

}


class Circle { 


    private center: Point;

    private radius: number;


    constructor(center: Point, radius: number) {

    this.radius = radius;

    this.center = center;

    }


    public isInside(otherPoint: Point): boolean {

    return this.center.distance(otherPoint) < this.radius;

    }    

}


class Triangle extends Point {

    private z: number;

    constructor(x:number, y: number, z: number) {

        super(x, y);

        this.z = z;

    }


    public getZ() {

        return this.z

    }


    public getPerimeter(otherPoint: Triangle): number {

        return otherPoint.getX() + otherPoint.getY() + otherPoint.getZ()

    }


}


let per = new Triangle(24, 61, 32);

console.log(per);

在我提到的鏈接中運行上面的代碼,點擊“運行”并點擊“F12”打開控制臺,你會看到console.log的輸出


查看完整回答
反對 回復 2022-07-08
  • 2 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號