오늘의 JavaScript React Dev 인터뷰 질문

나는 지금 인터뷰에서 이러한 질문을 했다

const spaceShip = {
  name: 'Chandrayan',
  get1: () => {
    console.log(this.name);
  },
  get2: function (){
    console.log(this.name);
  }
}

spaceShip.get1()
spaceShip.get2()


이제 spaceShip.get1()이 아무 것도 인쇄하지 않는다는 것을 알고 있지만 get2()가 작동하는 방식과 똑같은 방식으로 작동하도록 하려면 어떻게 바인딩합니까?

get1.bind(spaceShip.this) 또는 get1.bind(spaceShip) 먼저 바인딩this한 다음 실행하려고 했지만 어떤 일이 발생해야 하는지 잘 모르겠습니다.
  • 두 번째 질문에서

  • const person = this.state.person;
    
    const person = {...this.state.person};
    


    person.name 값을 변경하면 그 사람이 완전히 새로운 객체이기 때문에 두 번째 경우에 값이 변경된다는 것을 알고 있습니다.

    그러나 첫 번째 경우에는 this.state.person의 값도 변경됩니까?
  • 몰랐던 폴링 기능을 작성하라는 질문을 받았지만 여전히 말을 시도했습니다.

  • function myPoll(fn, timeInterval, endTime){
    
    var checkCondition = function(resolve, reject) {
            var result = fn();
            if(result) {
                resolve(result);
            }
            else if (// for the time checking) {
                setTimeout(checkCondition, interval, resolve, reject);
            }
            else {
                reject(error);
            }
        };
    }
    


    그러나 그는 그것을 떨어뜨렸다.
  • 네 번째 질문은 Promise.all에 대한 폴리필 작성이었습니다.

  • Promise.all([pr1, pr2, pr3]).then().catch();
    var resolvedPromises = [];
    [pr1, pr2, pr3].map((item, resolve, reject) => {
        var result = item();
        if(result){
           resolvedPromises.push(resolve(result));
        }
        else {
            return reject(result);
        }
    })
    
    
    


    그래서 결과에 약속을 저장한 다음 배열에 푸시하고 모든 반복이 끝나면 모든 약속의 해결된 값이 해당 배열에 저장될 것이라고 설명하려고 했습니다.

    그러나 다시 그는 약속이 해결되지 않거나 거부되면 어떻게 해결해야 하는지 물었으므로 이 방법으로 코드를 수정했습니다.

    var resolvedPromises = [];
    [pr1, pr2, pr3].map((item, resolve, reject) => {
       item().then((result) => {
            if(result){
                resolvedPromises.push(resolve(result));
            }
        });  //pr1;
        else {
            return reject(result);
        }
    })
    


    그러면서 무엇을 물어야 할지 막막하기도 했지만 내가 그들에게 아무것도 묻지 못하게 하고 인터뷰는 그렇게 끝났다. 오늘은 승리를 바라면 안 될 것 같다.

    좋은 웹페이지 즐겨찾기