저는 C#과 같은 다른 언어로 프로그래밍하고 있지만 기초부터 JavaScript를 배우고 있습니다. 이 두 가지 방법 중 어느 것이 더 효율적이며 일반적인 규칙으로 사용해야하는지에 대한 질문이 내게 들려왔다.리터럴 표기법 VS. JavaScript에서 객체를 생성하는 생성자
확실한 대답은 없지만 일반적인 장단점을 알고 싶습니다.
감사합니다.
저는 C#과 같은 다른 언어로 프로그래밍하고 있지만 기초부터 JavaScript를 배우고 있습니다. 이 두 가지 방법 중 어느 것이 더 효율적이며 일반적인 규칙으로 사용해야하는지에 대한 질문이 내게 들려왔다.리터럴 표기법 VS. JavaScript에서 객체를 생성하는 생성자
확실한 대답은 없지만 일반적인 장단점을 알고 싶습니다.
감사합니다.
일반적으로 개체 리터럴이 있습니다. 스크립트를로드 할 때 구문 분석 만하면되며 스크립트 엔진이 다양한 최적화를 수행 할 수 있습니다.
생성자를 실행해야합니다. 즉 느린 속도가되지만 유효성 검사 코드 등을 쉽게 추가 할 수 있으며 생성자 범위에 숨겨진 공개적이고 권한있는 메서드 및 개인 "특성"을 사용하여 복잡한 개체를 만들 수 있습니다. 또한, 그들은 물론 유용한 프로토 타입을 공유하는 객체를 생성합니다.
하나 이상의 성능 효율성을 알지 못합니다. 그러나 리터럴 표기법은 단순성 인수로 인해 선호도를 얻는 것처럼 보이며 생성자 및 new
키워드를 사용하지 않으므로 선호됩니다.
키워드에 의해 생성자와 new
키워드가 JavaScript 언어의 부정적인 특징으로 인식됩니다 (Crockford - JavaScript : 좋은 부분 참조). JSLint는 new Array()
또는 new Object()
을 사용할 때도 호출합니다.
둘 다 사용하고 있으며, 둘 중 하나를 선택하지 않아도됩니다. – Ibu
같은 질문에 대한 더 나은 답변이 여기에 있습니다. http://stackoverflow.com/questions/4859800/should-i-be-using-object-literals-or-constructor-functions – BritishDeveloper