난 그냥 다음과 같은 자바 스크립트 코드 ..."안전하지 않은 게시"가 Javascript에 있습니까?
class Team {
constructor(id, eventHandler) {
this.id = id;
this._eventHandler = eventHandler;
this._eventHandler.trigger("NewTeam", this); // my concerning line
}
}
내가 자바 배경이를 썼다. 자바에서는 객체가 자신의 생성자 ("안전하지 않은 게시")에서 참조를 공유하는 것이 위험하다고 간주됩니다. 다른 스레드가 유효한 상태가되기 전에 객체에서 작동 할 수 있기 때문입니다.
Javascript에서도 위험할까요? 나쁜 연습으로 간주됩니까?
한 가지 문제 만 생각하면됩니다. Team
을 확장하려면 eventHandler.trigger("NewTeam",__)
에 추가 속성을 표시하는 것이 까다로울 수 있습니다.
JavaScript가 단일 스레드입니다. 또한 자바에 대해 아는 바가 자바 스크립트와 관련이 없다고 가정하는 것이 가장 좋습니다. – Pointy
물론 자바 스크립트에서도 참조를 공유하기 전에 초기화를 완료해야합니다. 그러나 생성자에 특별한 것은 없습니다 – Bergi
@Bergi - 하위 클래스가 있습니다. 생성자 고려 사항 - 로컬 초기화로 완료되었지만 초기화로 아직 완료되지 않았지만 생성자에게는 다소 고유 한 하위 클래스가있을 수 있습니다. – jfriend00