84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
오늘 만난 필기시험 문제는 답변 부탁드립니다A.js와 b.js는 서로를 요구하는데, 무한루프에 빠지게 될까요? 결과를 내보낼 수 있나요? 이 문제를 피하는 방법은 무엇입니까?
이것은 JavaScript 모듈의 순환 로딩을 조사하는 것입니다. es6의 모듈 메커니즘을 사용하여 이 문제를 해결할 수 있습니다. ES6의 "순환 로딩" 처리는 CommonJS와 근본적으로 다릅니다. ES6는 "루프 로딩"이 발생하는지 전혀 신경 쓰지 않으며, 단지 로드된 모듈에 대한 참조를 생성합니다. 개발자는 값이 실제로 얻어질 때 그 값을 얻을 수 있는지 확인해야 합니다.
문자 그대로 이해했다면
그러면 이 문제는 CommonJS의 순환 참조 문제로 이해될 수 있습니다. CommonJS의 접근 방식은 모듈이 "루프 로드"되면 실행된 부분만 출력되고 실행되지 않은 부분은 출력되지 않는다는 것입니다.
두 모듈 간의 순환 참조를 개념적으로 이해하면 es6의 모듈 참조도 포함됩니다.
ES6은 "루프 로딩"이 발생하는지 전혀 신경 쓰지 않고, 로드된 모듈에 대한 참조를 생성할 뿐입니다. 개발자는 값을 실제로 얻을 때 해당 값을 얻을 수 있는지 확인해야 합니다.
단순히 CommonJs를 사용하거나 esm(es6 모듈)을 사용하면 무한 루프가 발생하지 않습니다. 하지만 두 가지를 혼합하면 이런 일이 발생할 수 있습니다.
문이 잘 쓰여진 Ruan Yifeng의 블로그를 추천합니다. http://www.ruanyifeng.com/blo...
이것은 JavaScript 모듈의 순환 로딩을 조사하는 것입니다.
es6의 모듈 메커니즘을 사용하여 이 문제를 해결할 수 있습니다. ES6의 "순환 로딩" 처리는 CommonJS와 근본적으로 다릅니다. ES6는 "루프 로딩"이 발생하는지 전혀 신경 쓰지 않으며, 단지 로드된 모듈에 대한 참조를 생성합니다. 개발자는 값이 실제로 얻어질 때 그 값을 얻을 수 있는지 확인해야 합니다.
문자 그대로 이해했다면
만 사용하세요. 으아악그러면 이 문제는 CommonJS의 순환 참조 문제로 이해될 수 있습니다. CommonJS의 접근 방식은 모듈이 "루프 로드"되면 실행된 부분만 출력되고 실행되지 않은 부분은 출력되지 않는다는 것입니다.
두 모듈 간의 순환 참조를 개념적으로 이해하면 es6의 모듈 참조도 포함됩니다.
으아악ES6은 "루프 로딩"이 발생하는지 전혀 신경 쓰지 않고, 로드된 모듈에 대한 참조를 생성할 뿐입니다. 개발자는 값을 실제로 얻을 때 해당 값을 얻을 수 있는지 확인해야 합니다.
단순히 CommonJs를 사용하거나 esm(es6 모듈)을 사용하면 무한 루프가 발생하지 않습니다. 하지만 두 가지를 혼합하면 이런 일이 발생할 수 있습니다.
문이 잘 쓰여진 Ruan Yifeng의 블로그를 추천합니다.
http://www.ruanyifeng.com/blo...