2017-08-02 299 views
1

varまたはletキーワードで変数を宣言すると、このコンパイルエラーが発生するのはなぜですか?私が意味する、これがうまくいけ:角度:「予期しないトークン、コンストラクタ、メソッド、アクセサまたはプロパティが必要です」

export class AppComponent { 

    refreshClickStream$: any; 

    constructor(){ 
    } 

これはエラーをもたらしながら:

export class AppComponent { 

    var refreshClickStream$: any; 

    constructor(){ 
    } 
+3

。パブリックまたはプライベートを使用できます。デフォルトでは、変数はtypescriptでpublicです。 – Faisal

+0

@Faisal - Okだが、なぜそれをコンストラクタでvarを使って宣言できるのだろうか? –

+2

がローカル変数であるためです。 let、var、constを使って定義することができます。 – Faisal

答えて

0

クラスの中で、TypeScriptは、クラスメンバーの宣言を許可しません。

だからこれが欲しい。

export class AppComponent { 

    a: string = "foo"; 
    b: string = "bar"; 


    foo(): void { } 

    constructor(){ 
    } 

} 

ない、あなたがVARを使用するか、クラス変数を宣言するときに任せることはできない

export class AppComponent { 

    var a: string = "foo"; 
    let b: string = "bar"; 


    function foo(): void { } 

    constructor(){ 
    } 

} 
0

これは、クラスのプロパティであり、typescriptですで、あなたはこのようなプロパティを定義することができます

@Component({selector: 'greet', template: 'Hello {{name}}!'}) 
class Greet { 
    name: string = 'World'; 
    constructor(){ 
    } 
} 
関連する問題