오늘의 JavaScript React Dev 인터뷰 질문
7824 단어 reactinterviewwebdevjavascript
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([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);
}
})
그러면서 무엇을 물어야 할지 막막하기도 했지만 내가 그들에게 아무것도 묻지 못하게 하고 인터뷰는 그렇게 끝났다. 오늘은 승리를 바라면 안 될 것 같다.
Reference
이 문제에 관하여(오늘의 JavaScript React Dev 인터뷰 질문), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/oathkeeper/today-s-interview-question-4hm3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)