source

angular2 및 typescript에서 배열을 초기화하는 방법

lovecheck 2023. 6. 26. 21:27
반응형

angular2 및 typescript에서 배열을 초기화하는 방법

Angular2 및 Typescript에서 이러한 현상이 발생하는 이유는 무엇입니까?

export class Environment {
    constructor(
      id: string,
      name: string
    ) { }
}


 environments = new Environment('a','b');



app/environments/environment-form.component.ts(16,19): error TS2346: Supplied parameters do not match any signature of call target.

배열을 초기화하려면 어떻게 해야 합니까?

다음 구성을 사용할 수 있습니다.

export class AppComponent {

    title:string;
    myHero:string;
    heroes: any[];

    constructor() {
       this.title = 'Tour of Heros';
       this.heroes=['Windstorm','Bombasto','Magneta','Tornado']
       this.myHero = this.heroes[0];
    }
}

이러한 개체의 배열을 만들고 초기화할 수 있습니다.

hero:Hero[]=[];

클래스 정의는 다음과 같아야 합니다.

export class Environment {
    cId:string;
    cName:string;

    constructor( id: string, name: string ) { 
        this.cId = id;
        this.cName = name;
    }

    getMyFields(){
        return this.cId + " " + this.cName;
    }
}

 var environments = new Environment('a','b');
 console.log(environments.getMyFields()); // will print a b

출처: https://www.typescriptlang.org/docs/handbook/classes.html

배열을 초기화하는 것이 무슨 뜻인지 완전히 이해하지 못합니까?

다음은 예입니다.

class Environment {

    // you can declare private, public and protected variables in constructor signature 
    constructor(
        private id: string,
        private name: string
    ) { 
        alert( this.id );
    }
}


let environments = new Environment('a','b');

// creating and initializing array of Environment objects
let envArr: Array<Environment> = [ 
        new Environment('c','v'), 
        new Environment('c','v'), 
        new Environment('g','g'), 
        new Environment('3','e') 
  ];

여기에서 사용해 보십시오. https://www.typescriptlang.org/play/index.html

보다 간결하게 하기 위해 생성자 매개변수를 다음과 같이 선언할 수 있습니다.public자동으로 동일한 이름의 속성을 만들고 이러한 속성을 사용할 수 있습니다.this:

export class Environment {

  constructor(public id:number, public name:string) {}

  getProperties() {
    return `${this.id} : ${this.name}`;
  }
}

let serverEnv = new Environment(80, 'port');
console.log(serverEnv);

 ---result---
// Environment { id: 80, name: 'port' }

안녕 @JackSlayer94 사이즈 5의 배열을 만드는 방법을 이해하기 위해 아래 예시를 찾아주세요.

class Hero {
    name: string;
    constructor(text: string) {
        this.name = text;
    }

    display() {
        return "Hello, " + this.name;
    }

}

let heros:Hero[] = new Array(5);
for (let i = 0; i < 5; i++){
    heros[i] = new Hero("Name: " + i);
}

for (let i = 0; i < 5; i++){
    console.log(heros[i].display());
}

언급URL : https://stackoverflow.com/questions/37761131/how-to-initialize-an-array-in-angular2-and-typescript

반응형