반응형
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
반응형
'source' 카테고리의 다른 글
설치된 모든 Gem을 제거하고 다시 시작하는 중 (0) | 2023.07.01 |
---|---|
안드로이드 스튜디오에서 그라들을 업데이트하는 방법은 무엇입니까? (0) | 2023.07.01 |
파일을 수정한 가장 최근의 git commit을 어떻게 찾습니까? (0) | 2023.06.26 |
오라클 데이터베이스에 데이터 스토리지를 위한 테이블스페이스가 두 개 이상 있어야 합니까? (0) | 2023.06.26 |
데이터 프레임의 그룹 내 행 번호 매기기 (0) | 2023.06.26 |