पाठ 29 / 31
Common Interview Questions
Transpiling बनाम bundling से polyfills तक, interviews में आम तौर पर पूछे जाने वाले Babel और SWC concepts दोहराएँ।
त्वरित जाँच
त्वरित जाँच: Babel का प्राथमिक उद्देश्य क्या है?
- JavaScript फ़ाइलों को minify और compress करना
- Multiple फ़ाइलों को एक में bundle करना
- पुराने browsers के लिए आधुनिक JavaScript को ES5-compatible syntax में convert करना
- npm packages संभालने के लिए
Answer
पुराने browsers के लिए आधुनिक JavaScript को ES5-compatible syntax में convert करना — Babel आधुनिक JavaScript को compatible पुरानी syntax में transpile करता है। Minification और bundling अलग concerns हैं जो अन्य tools द्वारा संभाले जाते हैं।
त्वरित जाँच
त्वरित जाँच: SWC Babel से तेज क्यों है?
- SWC बड़ी फ़ाइलों के transpilation को skip करता है
- SWC JSX या TypeScript को transpile नहीं करता
- SWC सभी comments हटा देता है
- SWC को Rust में लिखा गया है और native code में compiled है, जबकि Babel interpreted JavaScript है
Answer
SWC को Rust में लिखा गया है और native code में compiled है, जबकि Babel interpreted JavaScript है — SWC का Rust implementation बहुत बड़े performance gains को enable करता है। Compiled native code CPU-intensive parsing और AST transformation के लिए interpreted JavaScript से बहुत तेज है।
त्वरित जाँच
त्वरित जाँच: क्या Babel runtime features को add कर सकता है जो target browser में exist नहीं करते?
- नहीं, Babel केवल syntax को transpile कर सकता है; runtime features को polyfills की जरूरत है
- हाँ, हमेशा
- हाँ, लेकिन केवल Promise और Array methods के लिए
- केवल Chrome में
Answer
नहीं, Babel केवल syntax को transpile कर सकता है; runtime features को polyfills की जरूरत है — Babel syntax को transpile करता है लेकिन functions को नहीं बना सकता जो exist नहीं करते। `Promise.all()` या `Array.prototype.includes()` जैसी runtime features के लिए, core-js जैसे polyfills का उपयोग करें।