0

매우 구체적인 사용 사례입니다. 그리고 이것은 모두 타이프 크립트로되어 있습니다 (이 유스 케이스에서는 아무런 영향을 미치지 않는다고 생각하지만, 그 경우에는 언급합니다).각 브라우저에서 __proto__를 지정하면 어떤 영향을 미칩니 까?

Google은 배경 처리를 위해 Google의 주 코드와 단일 웹 작업자를 보유하고 있습니다. 우리는 Worker.postMessage()를 사용하여 메시지를 앞뒤로 게시합니다. 우리는 항상 myData가 객체 인 postMessage (myData)를 호출합니다. 그 객체는 객체 인 멤버 변수를 가진 객체 인 멤버 변수를 가지고 있습니다 ... 많은 객체가 전달됩니다.

우리가 postMessage()를 호출하면 다른 쪽에서받은 것은 제출 된 객체지만 데이터뿐입니다. 메소드 (예 : 프로토 타입)는 전달되지 않습니다. 웹 작업자와의 통신은 데이터를 직렬화하고 멀리 떨어진 곳의 데이터 만 재구성합니다. 전달 된 객체에 대해 proto을 보면, 그것은 내가 알 수있는 한 Object이지만 기본적인 객체입니다.

가장 현명한 접근 방법은 프로토 (discussed some here)을 설정하는 모든 개체를 걷는 것입니다. 이렇게하면 복사 생성자에서 모든 객체를 다시 만드는 것을 피할 수 있습니다 (시간이 걸리고 메모리 적중률이 두 배로 증가하며 가비지 수집기의 작업이 늘어납니다). 우리가 보내준 프로토 타입을 다시 적용하기 때문에 그렇게하는 것이 합당한 것처럼 보입니다. (그리고 ES6 브라우저에서 우리는 setPrototypeOf()를 사용할 것입니다.)

제 질문은 다음 브라우저에 대한 구체적인 히트입니다.

  • 인터넷 익스플로러 10 & 11 : 그것은 이러한 특정 것들에 대한 어떤 영향이 있나요 (우리가 걱정하는 모두 우리가 웹 노동자해야하기 때문에 최신 버전입니다)?
  • 크롬 34 & 35?
  • Safari 7?

그리고 Firefox의 경우 - it doesn't like it입니다.

IE, Chrome, & Safari에서 인기가 있습니까? 그리고 그렇다면 정확히/어떻게?

답변

0

그리고 대답은 크롬에 좋지 않습니다. & Opera에서 Firefox가 매우 좋지 않습니다. IE에서는 몹시 나쁨입니다. 복사 생성자의 성능 테스트와 프로토 타입 설정.

Details here:

enter image description here

관련 문제