당신이, 당신이 할 수있는 더 강력하고 검증 가능한 방식으로 이동하고자하는 경우 클래스와 팩토리 패턴의 조합을 사용하여 객체를 발행하십시오. 다음을 확인해보십시오. 세분화 된 로직과 테스트를 포함하여이 설정을 통해 더 쉽게 얻을 수 있고 유연성을 높일 수 있습니다. 또한 .issue
콜 뒤에있는 객체를 새롭게 추상화하는 경우가 있습니다. 이는 경우에 따라 유용하고 편리 할 수 있습니다.
또한 PHP 배경에 대해 언급 했으므로 ES6에서 객체 지향 접근 방식을 취하는 방법을 보여줍니다.
class AbstractShape {
constructor(type) {
this.type = type;
}
getType() {
console.log(`I am a ${this.type}`);
}
}
class Square extends AbstractShape {
constructor(type) {
super(type);
this.sides = 4;
}
getDescription() {
console.log(`I have ${this.sides} equal sides`);
}
}
class ShapeFactory {
static issue(type) {
switch(type) {
case 'Square': return new Square(type);
break;
case 'Circle': /* same pattern with a Circle class */
break;
}
}
}
let shape = ShapeFactory.issue('Square');
shape.getType(); /* I am a Square */
shape.getDescription(); /* I have 4 equal sides */
JSFiddle Link - 데모
또한, 당신은 예를 들어, 중복 문자열을 다루는 것보다 좀 더 내결함성 뭔가를하려는 경우 'Square'
- there are some creative ways을 사용하면 더욱 정교해질 수있는 열거 형 접근법을 활용할 수 있습니다. 여기에 부동산을 저장하고 코드 스 니펫을 다시 해시하지는 않지만 체크 아웃 할 수있는 바이올린이 포함됩니다.
JSFiddle Link - 가까이 고려하면 열거 방식 데모
'new Square()'를 호출하는 것 – zabusa