మాడ్యూల్ పాఠాలు (1/4)
ESM మాడ్యూల్స్: దిగుమతి / ఎగుమతి
ప్రోగ్రామ్ పెరిగినప్పుడు, ప్రతిదీ ఒకే ఫైల్లో ఉంచడం ఇబ్బందికరంగా మారుతుంది. ఆధునిక జావాస్క్రిప్ట్ **ES మాడ్యూల్స్ (ESM)**తో సమస్యను పరిష్కరిస్తుంది: ప్రతి ఫైల్ ఎగుమతి చేయగల మాడ్యూల్. విధులు, స్థిరాంకాలు, తరగతులు మరియు ఇతర ఫైల్లు వాటిని దిగుమతి చేయగలవు.
export
మీరు పబ్లిక్ చేయాలనుకుంటున్న దాన్ని మీరు ఎగుమతి చేస్తారు. రెండు రూపాలు:
// somma.js
export function somma(a, b) {
return a + b;
}
export const PI = 3.14159;లేదా, ఫైల్ చివరిలో:
function somma(a, b) {
return a + b;
}
const PI = 3.14159;
export { somma, PI };import
మరొక ఫైల్ నుండి:
// app.js
import { somma, PI } from './somma.js';
console.log(somma(1, 2)); // 3
console.log(PI); // 3.14159ఆబ్జెక్ట్ { somma, PI } మీరు దిగుమతి చేయాలనుకుంటున్న *పేర్ల జాబితా. వారు తప్పక సరిపోలాలి
ఎగుమతి చేసిన పేర్లు.
డిఫాల్ట్ ఎగుమతి
ప్రతి మాడ్యూల్ పేరు లేకుండా ఒక "ప్రధాన" ఎగుమతిని కలిగి ఉంటుంది:
// log.js
export default function log(msg) {
console.log('[app]', msg);
}మీరు స్థానికంగా పేరును ఎంచుకోవడం ద్వారా దాన్ని దిగుమతి చేసుకోండి:
import log from './log.js';
log('ciao');పేరు మార్చడం
import { somma as plus } from './somma.js';
export { somma as add } from './somma.js'; // re-exportఒక్కో ఫైల్కి ఒక "నేమ్స్పేస్"
మాడ్యూల్స్ ఐసోలేట్ చేయబడ్డాయి: ఫైల్లో డిక్లేర్డ్ చేయబడిన వేరియబుల్ గ్లోబల్ స్కోప్లో ముగియదు. మీరు
ఇది మరెక్కడా కనిపించేలా చేయడానికి ** స్పష్టంగా ఎగుమతి చేయాలి**. పైగా ఇది భారీ మెరుగుదల
పాత పాఠశాల JS ప్రతి <script> windowని భాగస్వామ్యం చేసింది.
దీనిని ప్రయత్నించండి
దిగువ వ్యాయామాలలో మీరు కాదు నిజమైన import/export వాక్యనిర్మాణాన్ని వ్రాయగలరు — శాండ్బాక్స్ ఒకే
ఫైల్. బదులుగా, మేము మిమ్మల్ని కోడ్ని చిన్న ప్రత్యేక ఫంక్షన్లుగా నిర్వహించమని అడుగుతాము
ప్రతి ఒక్కటి వేరే ఫైల్లో ఉంటే మీరు సహకరించినట్లుగా సహకరించండి.
రెండు వేర్వేరు ఫంక్షన్లను నిర్వచించండి: స్క్వేర్ని ఉపయోగించే `స్క్వేర్(n)` (రిటర్న్లు n*n) మరియు `sumOfSquares(a, b)`. స్క్వేర్ని ఫైల్ నుండి 'ఎగుమతి'గా భావించండి మరియు sumOfSquares ద్వారా మళ్లీ ఉపయోగించబడింది.
సూచనను చూపించు
sumOfSquares(a,b) = square(a) + square(b)
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం సమీక్షించండి
శ్రేణిలోని సమాన మూలకాలను లెక్కించడానికి isEvenని ఉపయోగించే `isEven(n)` (n సరి అయితే నిజం) మరియు `countEven(arr)`ని నిర్వచించండి. వాటిని రెండు వేర్వేరు విధులుగా ఉంచండి.
సూచనను చూపించు
arr.filter(isEven).పొడవు
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది