Luaigh mar: SFGM, Ríomheolaíocht na hArdteistiméireachta ... · 1 Bíonn go leor comhaid...
Transcript of Luaigh mar: SFGM, Ríomheolaíocht na hArdteistiméireachta ... · 1 Bíonn go leor comhaid...
Luaigh mar: SFGM, Ríomheolaíocht na hArdteistiméireachta, Ceardlann Scileanna i bhForbairt Gréasáin, Baile Átha
Cliath, 2019
Web Development Skills – Part B - JavaScript 3
Forbhreathnú ar an Lámhleabhar
Is é is cuspóir leis an lámhleabhar seo an t-eolas, na scileanna agus an mhuinín a theastaíonn
ó mhúinteoirí Chéim a hAon de chuid Ríomheolaíocht na hArdteistiméireachta a thabhairt dóibh
ionas go mbeidh siad in ann suíomhanna gréasáin agus feidhmchláir ghréasáin a dhearadh
agus a fhorbairt go neamhspleách.
Cé go mbeidh an lámhleabhar ina ábhar tacaíochta do mhúinteoirí a fhreastalaíonn ar an
gCeardlann ar Fhorbairt Feidhmchláir Ghréasáin atá mar chuid dár gclár forbartha gairmiúla
leanúnaí dhá bhliain, táthar ag súil go mbainfear an luach is mó uaidh cúpla mí i ndiaidh na
ceardlanna a chur i gcrích. Taobh amuigh de na ceardlanna seo, féadfar an lámhleabhar a
úsáid mar thagairt bhunúsach don fhorbairt gréasán, ach níos tábhachtaí ná sin, mar acmhainn
teagaisc a éascóidh múinteoirí a úsáideann foirm thógachaíoch den oideolaíocht i leith na
pleanála do theagasc agus foghlaim na forbartha gréasán i seomra ranga Ríomheolaíocht na
hArdteistiméireachta.
Roinneadh an lámhleabhar seo ina chúig chuid shonracha agus i dtrí cháipéis ar leith – Cuid A,
Cuid B agus Cuid C – agus iad san ord a thaispeántar thíos. Baineann an cháipéis seo le Cuid
B.
Cuid A
Rannán 1 – HTML
Rannán 2 – Stílbhileoga Cascáideacha
Rannán 3 – Dearadh UX
Cuid B
Rannán 4 – JavaScript
Cuid C
Rannán 5 – Bunachair Shonraí
Web Development Skills – Part B - JavaScript 4
Rannán 4
JavaScript
Web Development Skills – Part B - JavaScript 5
Clár Ábhar
Gnásanna 9
Réamhrá 10
Cúlra
JavaScript taoibh cliaint vs. JavaScript taoibh freastalaí
Amlíne stair JavaScript
Ár gCéad Ríomhchlár – Hello World
Comhréir Bhunúsach 17
Gnéithe JavaScript
Focail Choimeádta JavaScript
An Sreabhadh Rialúcháin
Cineálacha Sonraí agus Luachanna Litriúla 23
Bunchineálacha Sonraí
string
number
Boolean
null agus undefined
Cineálacha Sonraí ar Oibiachtaí iad
Oibiachtaí Ionsuite
Athróga agus Sannacháin 33
Athróga a Fhógairt (let vs. var)
Sannacháin
Tairisigh (const)
Athróga Neamhshainithe
Ilfhógairtí
Athróga Neamhfhógartha
Ionchur Úsáideora (prompt)
Cleachtaí Ríomhchlárúcháin
Web Development Skills – Part B - JavaScript 6
Oibreoirí agus Sloinn Uimhríochta 46
Oibreoirí Uimhríochta
Oibreoirí Incrimintí agus Deicrimintí
Oibreoirí Sannacháin Cumaisc
An Oibiacht Uilíoch Matamaitice
Uimhreacha Randamacha
Tosaíocht Oibreoirí
Cleachtaí Ríomhchlárúcháin
Oibreoirí agus Sloinn Boole 59
Oibreoirí Comparáide
Cleachtaí
Oibreoirí Loighciúla
Cleachtaí
Ráitis Roghnaithe 72
An Ráiteas if
Cleachtaí
if-else
Cleachtaí
else if
Cleachtaí
Ráitis Neadaithe if
Ríomhchlár Samplach – An ceann is airde as 3 uimhir a aimsiú
An tOibreoir Trínártha
An Ráiteas switch
Cleachtaí Ríomhchlárúcháin
Ráitis Atrialla 101
An Lúb while
Cleachtaí
An Lúb do-while
Cleachtaí
An Lúb for
Cleachtaí
Web Development Skills – Part B - JavaScript 7
Lúba Éigríochta
Na Ráitis break agus continue
Lúba Neadaithe
Cleachtaí Ríomhchlárúcháin
Teaghráin 130
Teaghrán a Innéacsú
Bun-Teaghráin vs. Teaghráin mar Oibiachtaí
Teaghráin a chur i gComparáid
Modhanna Teaghráin
Teaghráin a Thrasnú
Cleachtaí Ríomhchlárúcháin
Eagair 145
Ríomhchlár Samplach – gineadóir abairte
Gnéithe Eagair Mionathraithe
Fad Eagair
Modhanna Eagair
Próiseáil Eagair
Eagair a Chóipeáil
Eagair a Sheachadadh chuig Feidhmeanna
Cleachtaí Ríomhchlárúcháin
Feidhmeanna 164
Réamhrá – comhréir, sainmhíniú agus gairm
Paraiméadair agus Argóintí
Luachanna Aischurtha
Feidhmeanna Boole
Cód a imchochlú i bhFeidhmeanna
Cleachtaí Ríomhchlárúcháin
Gníomhaíocht ar Leithligh I 184
Foghlaim Ríomhchuidithe (CAL)
Riachtanais
Web Development Skills – Part B - JavaScript 8
JavaScript Taoibh Cliaint 191
Réamhrá
Leathanaigh ghréasáin dhinimiciúla – roinnt samplaí
An Samhaltán Oibiachta Doiciméid (DOM)
An Comhéadan Feidhmchláir (API) DOM
Samplaí 1 – 5
Teagmhais
Sampla 1 – 4
Gníomhaíocht ar Leithligh II 212
Cluiche Tomhais an Uimhir
Córas Foghlama Ríomhchuidithe ar Líne (OCALS)
Réitigh Mholta ar Ghníomhaíochtaí ar Leithligh 220
Réiteach Molta ar Ghníomhaíocht ar Leithligh #1 (CAL)
Réiteach Molta ar Ghníomhaíocht ar Leithligh #2
Aguisíní 233
Eochairfhocail JavaScript
Oibreoirí Uimhríochta
Oibreoirí Sannacháin Cumaisc
Tosaíocht Oibreoirí
Oibreoirí Comparáide
Oibreoirí Loighciúla agus Táblaí Fírinne
Modhanna Eagair Coitianta
Modhanna Dáta Coitianta
Modhanna Matamaitice Coitianta
Modhanna Uimhris Coitianta
Modhanna Teaghráin Coitianta
Tagairtí
Web Development Skills – Part B - JavaScript 9
Gnásanna
Chun cabhrú leat an lámhleabhar seo a léamh, úsáidtear na gnásanna seo a leanas:
✔ Baintear úsáid as cló iodálach chun focail agus frásaí nua tábhachtacha a shainmhínítear a
léiriú
✔ Baintear úsáid as an gcló Courier New chun cód Python a léiriú, mar shampla
eochairfhocail, orduithe agus ainmneacha athróg
Baintear úsáid as na deilbhíní thíos chun cineálacha éagsúla faisnéise a léiriú sa lámhleabhar
seo.
Spás do rannpháirtithe chun nótaí a bhreacadh síos agus chun
ceisteanna a fhreagairt le peann agus páipéar.
Pointe tábhachtach. Píosa sonrach faisnéise a bhaineann le gné éigin
den ríomhchlárú
Bain triail as. Deis chun an cód a athrú le feiceáil a dtarlóidh.
Cleachtaí ríomhchlárúcháin. Deis do dhaoine aonair/bheirteanna
scileanna ríomhchlárúcháin JavaScript a chleachtadh.
Gníomhaíochtaí ar Leithligh. Oibríonn rannpháirtithe i ngrúpaí ar
thascanna faoi théamaí éagsúla
Loga machnaimh. Spás do rannpháirtithe chun machnamh a
dhéanamh ar an bhfoghlaim agus a dtuairimí féin a bhreacadh síos.
Tá leideanna tábhachtacha le tabhairt do scoláirí atá
ag tosú amach ag foghlaim an ríomhchlárúcháin sna
boscaí mar seo.
Web Development Skills – Part B - JavaScript 10
Réamhrá
Cúlra
Meastar gurb é JavaScript an phríomhtheanga ríomhchlárúcháin ar an ngréasán. Chomh maith
le HTML agus CSS, tá sé ar cheann de na trí theicneolaíocht bhunúsacha atá taobh thiar de
gach leathanach gréasáin agus suíomh gréasáin ar thug tú cuairt air riamh.
Bíonn HTML agus CSS freagrach as ábhar agus láithreoireacht leathanaigh ghréasáin faoi
seach – is é JavaScript a rialaíonn a gcuid iompair.
Taispeántar sa ghrafaic thuas na trí phríomhchineálacha comhad1 a chomhdhéanann gach
suíomh gréasáin. Coinnítear na comhaid sin ar ríomhairí speisialta ar a dtugtar freastalaithe
gréasáin. Is é an phríomhfheidhm atá ag freastalaí gréasáin ná na comhaid sin a chur (i.e. a
sheachadadh/a sheoladh) chuig cliaint (i.e. úsáideoirí deiridh) a iarrann iad, trína mbrabhsalaí
gréasáin, de ghnáth. Is brabhsálaithe iad Google Chrome, Firefox, Internet Explorer, Safari
agus Opera a bhfuil cur amach go forleathan orthu.
1 Bíonn go leor comhaid acmhainní eile i suíomh gréasáin, go háirithe cinn a bhaineann le hábhar meáin (e.g.
fuaim, fís, grafaic, etc.) ach níl suim againn ach i gcomhaid HTML, CSS agus JavaScript sa phlé seo.
Web Development Skills – Part B - JavaScript 11
POINTE TÁBHACHTACH: Tugtar suíomhanna gréasáin statacha ar
shuíomhanna gréasáin a chruthaítear le HTML agus le CSS mar gheall go
mbíonn an t-ábhar agus an láithreoireacht iontu mar an gcéanna i gcónaí. Is
féidir JavaScript a úsáid chun ábhar dinimiciúil agus láithreoireacht dhinimiciúil
a chur le suíomhanna gréasáin statacha.
Nuair a thugann úsáideoir cuairt ar shuíomh gréasáin – go hiondúil, trí sheoladh (URL) an
tsuímh sin a iontráil nó trí chliceáil ar nasc ar shuíomh éigin eile – déantar iarratas ó bhrabhsálaí
an úsáideora chuig freastalaí an tsuímh. Tugann an freastalaí freagra tríd an comhad nó na
comhaid a iarradh a chur ar ais chuig an mbrabhsálaí. Ag an bpointe seo, is áisiúil smaoineamh
ar bhrabhsálaithe gréasáin ní mar thairseacha trínar féidir leathanaigh ghréasáin a aimsiú agus
a thaispeáint agus sin amháin, ach mar ríomhchláir freisin, a léirmhíníonn agus a ritheann an
cód HTML, CSS agus JavaScript inar scríobhadh na leathanaigh sin.
POINTE TÁBHACHTACH: Brabhsálaithe gréasáin a ritheann HTML, CSS
agus JavaScript.
Is teangacha fógracha iad HTML agus CSS. Ciallaíonn sé sin go bhfógraíonn siad do
bhrabhsálaí céard atá le déanamh, seachas an chaoi lena dhéanamh. Mar shampla, fógraíonn
an chlib HTML <p> alt, fógraíonn an chlib <h1> ceannteideal Leibhéal 1 agus mar sin de. Ar an
tslí chéanna, fógraíonn CSS sraith rialacha a chinneann an chuma a bhíonn ar leathanach
gréasáin. Is teangacha beo iad HTML agus CSS araon – bíonn sonraíocht a gcuid comhréire
agus a gcuid gramadaí ag éabhlóidiú i gcónaí faoi rialú eagraíocht caighdeán idirnáisiúnta ar a
dtugtar Feadhnacht an Ghréasáin Dhomhanda nó W3C, mar ghiorrúchán2.
Ach is teanga ríomhchlárúcháin ordaitheach é JavaScript. Mar sin, tá gnéithe ann is féidir a
úsáid chun staid agus sreabhadh rialúcháin ríomhchláir a athrú (e.g. athróga, ráitis roghnaithe
agus lúba). Tá JavaScript bunaithe ar chaighdeán a shainíonn eagraíocht dar teideal European
Computer Manufacturer’s Association (ECMA)3.
Ba é an cuspóir a bhí ag JavaScript an chéad lá riamh ná bealach a sholáthar do lucht ceaptha
agus forbartha gréasáin chun iompar a leathanach gréasáin a rialú. Ach cód JavaScript a chur
2 Tá na caighdeáin mhaireachtála is déanaí le haghaidh HTML agus CSS le fáil ag
https://www.w3.org/TR/html52/ agus ag https://www.w3.org/TR/css-2018/ faoi seach. 3 Tá an leagan is déanaí de JavaScript (ECMAScript 2020) le fáil ag https://tc39.github.io/ecma262/
Web Development Skills – Part B - JavaScript 12
ina gcuid leathanach, bhí lucht ceaptha agus forbartha in ann loighic a chur i bhfeidhm a bhí in
ann freagairt d’úsáideoirí éagsúla ar bhealaí éagsúla ag brath ar an gcomhthéacs. Mar
shampla, d’fhéadfaí cód JavaScript a úsáid chun sonraí neamhbhailí a bheadh á chur isteach
ag úsáideoir ar leathanach gréasáin a bhrath agus freagairt dó.
Go bunúsach, ba é JavaScript ba chúis le forbairt suíomhanna gréasáin lena bhféadfaidh
úsáideoirí idirghníomhú.
Web Development Skills – Part B - JavaScript 13
JavaScript taoibh cliaint vs. JavaScript taoibh freastalaí
Ba theanga scriptithe taoibh cliaint a bhí in JavaScript ar feadh na mblianta. B’amhlaidh sin mar
gheall nárbh fhéidir ríomhchláir JavaScript a rith ach amháin ó laistigh de bhrabhsálaithe
gréasáin a bhí suite ar mheaisíní cliant. Mar gheall go bhféadfaí JavaScript a rith ar ghléasanna
cliant, b’éigean roinnt srianta slándála a neadú sa teanga. Bhain an ceann is suntasaí de na
srianta sin le rochtain a fháil ar chomhaid ar mheaisín an chliaint.
Smaoinigh air sin, ar feadh soicind – scríobhann forbróir gréasáin ríomhchlár JavaScript agus
cuireann san áireamh é mar chuid de leathanach gréasáin. Cuirtear an suíomh gréasáin ar fáil
mar shraith comhad ar fhreastalaí gréasáin. Ag pointe éigin, iarrann úsáideoir deiridh an
leathanach agus ritheann brabhsálaí an úsáideora sin (atá á rith ar ghléas cliaint an úsáideora)
an cód JavaScript. Mura mbeadh srianta neadaithe sa teanga, ní bheadh aon rud a chuirfeadh
cosc ar fhorbróirí gréasáin cód a scríobh a d’fhéadfadh, mar shampla, córas comhad iomlán an
chliaint a scriosadh! Ar an gcúis sin, níl cumais ionchuir/aschuir comhaid ar bith neadaithe in
JavaScript – ní ligtear dó comhaid a léamh ná a scríobh.
POINTE TÁBHACHTACH: Tagraíonn JavaScript taoibh cliaint do ríomhchláir
JavaScript a cheaptar lena rith laistigh de thimpeallacht brabhsálaí idirlín. Is
féidir sin a chur i gcomparáid le JavaScript taoibh freastalaí, a thagraíonn do
ríomhchláir JavaScript a ritear lasmuigh de thimpeallachtaí brabhsálaí.
Le blianta beaga anuas, tá athrú leanúnach tagtha ar theanga ríomhchlárúcháin JavaScript go
dtí teanga ilchuspóireach atá solúbtha agus cumhachtach agus is féidir a úsáid laistigh agus
lasmuigh de bhrabhsálaithe gréasáin. Tagraítear do chuir i bhfeidhm na teanga a cheaptar le
ríomhchláir a rith lasmuigh de thimpeallachtaí brabhsálaí gréasáin mar chuir i bhfeidhm taoibh
freastalaí. Is samplaí suntasacha, comhaimseartha de JavaScript taoibh freastalaí iad Node,
Rhino, V8, agus SpiderMonkey. Is féidir breathnú orthu sin go léir mar thimpeallachtaí aonair a
cheaptar chun feidhmchláir JavaScript aonair a rith (ar an tslí chéanna a ritear feidhmchlár ar
bith a scríobhtar i dteanga ríomhchlárúcháin ar bith eile).
Níl na srianta céanna ag cuir i bhfeidhm taoibh freastalaí de JavaScript agus atá ar thaobh an
chliaint. Dá bharr sin, féadfaidh gnéithe a bheith acu chun rochtain dhíreach a fháil ar chóras
comhaid agus ar acmhainní gréasáin an ríomhaire (chomh maith le go leor gnéithe eile nach
bhfuil tacaíocht acu, agus nach féidir tacaíocht a bheith acu, ó JavaScript taoibh cliaint).
Web Development Skills – Part B - JavaScript 14
Dírítear ar JavaScript taoibh cliaint sa chuid seo den lámhleabhar.
Cogaí JavaScript agus Brabhsálaí
Ag tús ré an Ghréasáin Dhomhanda, chuaigh Netscape Navigator chun cinn ar Mosaic mar an
brabhsálaí gréasáin ba mhó a raibh tóir air. Cuideachta darbh ainm Netscape úinéir Netscape
Navigator.
Sa bhliain 1995, shocraigh Netscape cur le cumais a bhrabhsálaí trí léirmhínitheoir do theanga
scriptithe dar theideal LiveScript a chuimsiú ann. Brendan Eich a scríobh LiveScript agus an
príomhchuspóir a bhí aige ligean d’fhorbróirí gréasáin suíomhanna gréasáin idirghníomhacha a
chruthú. Athainmníodh LiveScript mar JavaScript go luath ina dhiaidh sin mar sheift
margaíochta chun leas a bhaint as ainm teanga ríomhchlárúcháin nua na linne, Java, a raibh
móréileamh uirthi i measc an phobail forbartha bogearraí ar fud an domhain.
Thart ar an am céanna a d’eisigh Microsoft Internet Explorer v1.0 agus go luath ina dhiaidh sin,
mar iarracht chun sciar den mhargadh a fháil, d’fhorbair sé a theanga scriptithe féin, ar ar
tugadh JScript (eisíodh ar dtús é in 1996 mar chuid de IE3.) Agus leis sin, cuireadh tús leis an
gcéad ‘chogadh brabhsálaithe’, mar a thugtar orthu.
Faoi 2002, bhí 95% den mhargadh brabhsálaí idirlín acu agus in 2004 thug Netscape a chód
brabhsálaí ar láimh d’eagraíocht nua ar ar tugadh Mozilla Foundation. Bhí deireadh leis an
gcéad chogadh brabhsálaithe ach bhí an dara ceann le tosú nuair a d’eisigh Mozilla Firefox v1.0
in 2004.
Téimis siar go 1997. Chuir Netscape JavaScript ar aghaidh chuig an European Computer
Manufacturers’ Association (ECMA) lena chaighdeánú. ECMAScript (nó ES, mar ghiorrúchán) a
tugadh ar an gcaighdeán sin. Eisíodh ES5 in 2009, an bhliain chéanna a ndeachaigh Google
isteach sa mhargadh brabhsálaí le Chrome. Thacaigh Chrome le HTML5 agus chloígh go mór
le ES5 – bhí rath air láithreach.
Ó 2009, braitheann an tóir a bhíonn ar bhrabhsálaithe go mór ar an méid a chloíonn siad leis an
gcaighdeán ES is déanaí. Cuireadh isteach ar cheannas Microsoft agus tháinig deireadh leis ar
deireadh mar gheall ar an tóir a tháinig ar Chrome in éineacht le Firefox de réir a chéile agus ar
bhrabhsálaithe eile amhail Opera agus Safari. Ghlac Chrome áit IE mar an ceannasaí margaidh
in 2012 agus is é an ceannasaí é ó shin i leith. Ó 2015, bhog straitéis bhrabhsálaí Microsoft
amach ó IE i dtreo a bhrabhsálaí nua, Microsoft Edge.
Faoi 2017, bhí 60% den sciar den mhargadh ag Chrome agus glacadh leis go forleathan go
raibh an dara cogadh brabhsálaithe críochnaithe.
Web Development Skills – Part B - JavaScript 15
Amlíne stair JavaScript
Tugtar roinnt de na príomhchéimeanna i stair JavaScript thíos. Roimh JavaScript, ba é an
príomhchuspóir a bhíodh ag brabhsálaí ná leathanaigh statacha HTML a chur ar fáil agus a
rindreáil.
- 1989 Cumadh an WWW
- 1995 D’eisigh Netscape LiveScript
- 1995 Tugadh JavaScript mar ainm nua do LiveScript
- 1996 D’eisigh Microsoft JScript
- 1997 ES1 (ECMAScript v1.0 )
- 1998 ES2
- 1999 ES3
- 2009 ES5
- 2015 ES2015 (ES6)
- 2016 ES2016 (ES7)
- 2017 ES2017 (ES8)
- 2018 ES2018 (ES9)
- ES Next – téarma dinimiciúil a thagraíonn don chéad eisiúint eile de ECMAScript
Ó 1997 i leith tá an European Computer Manufacturers’ Association (ECMA) ag sainmhíniú an
chaighdeáin don teanga JavaScript. Is doiciméad (mór) é gach caighdeán, go bunúsach, ina
dtugtar tuairisc ar ghnéithe na teanga i.e. a comhréir agus a séimeantaic. Tógann cuideachtaí
brabhsálaithe an caighdeán sin agus cuireann a gcuid cur i bhfeidhm féin leis. Innill JavaScript a
thugtar ar na cuir i bhfeidhm sin. Ritheann na hinnill sin na ríomhchláir JavaScript a scríobhann
forbróirí gréasáin. Ní mór do ríomhchláraitheoirí JavaScript a bheith ar an eolas nach gá go
bhfeidhmeodh a gcód i ngach aon bhrabhsálaí. Tá sin amhlaidh mar gheall go ndéanann cuir i
bhfeidhm éagsúla de JavaScript gnéithe den chaighdeán a léirmhíniú ar bhealaí beagán
éagsúla – uaireanta déanann siad neamhaird de ghnéithe den chaighdeán agus uaireanta
cuireann siad a ngnéithe féin leis, gnéithe nach cuid den chaighdeán seo iad.
Tugtar thíos ainmneacha agus lógónna ó roinnt de na brabhsálaithe is mó tóir atá in úsáid sa lá
atá inniu ann:
Web Development Skills – Part B - JavaScript 16
Ár gCéad Ríomhchlár – Hello World
De réir an traidisiúin a bhaineann le teanga ríomhchlárúcháin nua ar bith a fhoghlaim,
taispeánfaidh ár gcéad ríomhchlár JavaScript an téacs Hello World!
Tá na céimeanna thíos mar an gcéanna, a bheag nó a mhór, i gcás fhormhór na ríomhchlár
JavaScript a bheidh tú ag scríobh, mar sin déan nóta cúramach díobh. I ndiaidh tamall beag,
tiocfaidh siad chugat go nádúrtha.
Cruthaigh comhad leis an dá líne seo a leanas agus sábháil é mar hello.js
Nótaí:
● Is nóta tráchta í an chéad líne. Déanann an léirmhínitheoir JavaScript neamhaird de nótaí
tráchta. Scríobhann ríomhchláraitheoirí iad le go mbeidh sé níos éasca clár a léamh. In
JavaScript, tosaíonn línte nóta tráchta le //. Chomh luath agus a fheiceann sé slais
dhúbailte, déanfaidh JavaScript neamhaird den chuid eile den líne sin.
● Insíonn an dara líne do JavaScript an téacs Hello World! a thaispeáint ar an gconsól. Mar is
amhlaidh le gach teanga ríomhchlárúcháin, tá comhréir thar a bheith tábhachtach do
JavaScript. Míneoimid níos mó faoi rialacha comhréire de réir a chéile, ach faoi láthair is
tábhachtach a thuiscint nach mór duit an cód a chlóscríobh go díreach mar a thaispeántar é
sa liostáil thuas – cás na litreacha, an ponc, na lúibíní oscailte agus dúnta, na comharthaí
athfhriotail agus an leathstad ag deireadh an ráitis JavaScript san áireamh.
D’fhonn an ríomhchlár seo a rith, teastaíonn bealach éigin chun é a chur ar leathanach
gréasáin.
Cé gur féidir na ríomhchláir JavaScript a rith gan bhrabhsálaí gréasáin, rithfear gach ceann de
na ríomhchláir a úsáidfimid laistigh de bhrabhsálaí gréasáin, i.e. an brabhsálaí a rithfidh ár
Web Development Skills – Part B - JavaScript 17
gcód. Ós rud é go bpléann brabhsálaithe le HTML, ciallaíonn sin nach mór dúinn bealach éigin
a bheith againn chun JavaScript a chur san áireamh in ár gcód HTML. Is é sin cuspóir na clibe
script.
POINTE TÁBHACHTACH: Is í an chlib script an bealach a insíonn HTML
do bhrabhsálaí go bhfuil cód JavaScript ann.
Tá dhá bhealach chun JavaScript a chur i ndoiciméad HTML – go hinmheánach, mar chuid den
HTML nó go seachtrach mar chomhad ar leith. Éilíonn an dá theicníc go n-úsáidfí an ghné
<script>.
Scríobhtar cód JavaScript a scríobhtar go hinmheánach go hinlíne i.e. is cuid den chód HTML é
agus feictear é idir clibeanna oscailte agus dúnta <script>. Coinnítear cód JavaScript a
scríobhtar go seachtrach i gcomhad ar leith (a ainmnítear leis an iarmhír .js, de réir cleachtais)
agus cuirtear sa leathanach HTML é le tréith src na clibe <script> mar a léirítear anseo.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Hello!</title>
<meta charset="utf-8">
</head>
<body>
<!-- import JS file for this web page -->
<script src="hello.js"></script>
</body>
</html>
Déantar an cód JavaScript a shábháil i gcomhad seachtrach (ar leith) a ndéantar tagairt dó le
tréith src den chlib script.
Nuair a lódálaimid an leathanach seo isteach sa bhrabhsálaí déantar an teachtaireacht Hello
World! a thaispeáint ar chonsól an bhrabhsálaí. Bain úsáid as CTRL+SHIFT+I chun consól an
bhrabhsálaí a oscailt (oibríonn sé sin ar fhormhór na mbrabhsálaithe nua-aimseartha). Ba
cheart go bhfeicfeá rud éigin amhail ...
Web Development Skills – Part B - JavaScript 18
Comhghairdeas – tá do chéad ríomhchlár JavaScript rite agat!
Web Development Skills – Part B - JavaScript 19
Comhréir Bhunúsach
Caithfimid súil níos géire ar ár gcéad ríomhchlár JavaScript.
Nótaí
⮚ Tosaíonn línte nóta tráchta le //. Déantar neamhaird díobh fad a ritear an clár.
⮚ Baintear úsáid as console.log chun faisnéis a thaispeáint i gconsól an bhrabhsálaí.
⮚ Baintear úsáid as an leathstad chun deireadh a chur le ráitis JavaScript.
(Cé nach bhfuil sé éigeantach, meastar gur dea-chleachtas é leathstad a úsáid ag deireadh
gach ráitis.)
⮚ Tá JavaScript cásíogair. Ciallaíonn sé sin go bhfeiceann JavaScript na bloghanna cóid a
thaispeántar thíos mar bhlúiríní éagsúla. Bain triail astu – tá earráid chomhréire i ngach
blogh.
⮚ Déanann JavaScript neamhaird de spás bán agus an clár á rith. Tá línte bána i gceist leis
sin freisin.
⮚ Má thagann JavaScript ar fhocal (nó siombail) nach dtuigeann sé, taispeánfar earráid
chomhréire de ghnáth (ar chonsól an bhrabhsálaí de ghnáth).
⮚ Ní rithfidh ríomhchlár a bhfuil earráid chomhréire ann i gceart. Mar sin, má fheiceann
ríomhchláraitheoir (i.e. tusa!) earráid chomhréire, ba cheart í a cheartú láithreach.
Web Development Skills – Part B - JavaScript 20
Bain triail as! Tuar céard a dhéanfaidh gach ceann de na bloghanna cóid seo a leanas.
Web Development Skills – Part B - JavaScript 21
Gnéithe JavaScript
Sa rannán seo, tugaimid léargas ginearálta ar roinnt de phríomhghnéithe JavaScript.
Sainmhíníonn teanga JavaScript go leor gnéithe a dtugtar comhstruchtúir teanga orthu.
Athróga, cineálacha sonraí, oibreoirí agus feidhmeanna cuid de na hainmneacha ar roinnt de na
gnéithe is coitianta atá ag JavaScript. Tá comhstruchtúir le haghaidh roghnú (e.g. if, if-else
agus switch) agus atriall (e.g. while, do-while agus for) tábhachtach freisin. Scríobhtar
ríomhchláir JavaScript ach comhstruchtúir amhail na cinn siad a úsáid, in éineacht leis na
heochairfhocail a thaispeántar ar an gcéad leathanach eile.
Tá cineálacha sonraí ag athróga agus bunaítear a luachanna ar thoradh sloinn. Luachálann
inneall JavaScript na sloinn le linn an rite. Is féidir leo a bheith ina luachanna litriúla simplí (i.e.
luachanna cruachódaithe amhail uimhreacha e.g. -3, 0, 2.71828, teaghráin, e.g. “Hi Mum!"
nó ceann ar bith den dá luach Boole, true agus false). Féadfaidh sloinn a bheith ina gcinn
uimhríochta nó Boole freisin.
Baineann sloinn uimhríochtúla leis na hoibreoirí uimhríochta caighdeánacha a úsáid, amhail
suimiú (+), dealú (-), iolrú (*) agus roinnt (/) i measc cinn eile. Déantar iad ar luachanna
uimhriúla nó ar shloinn uimhríochta eile de ghnáth agus tugtar luach uimhriúil aonair mar
thoradh air sin, de ghnáth.
Ceaptar sloinn Boole leis na hoibreoirí comparáide e.g. cothrom le (==), cothrom le go cruinn
(===), níl cothrom le (!=), níl cothrom le go cruinn (!==), níos mó ná (>), níos mó ná nó
cothrom le (>=), níos lú ná (<=) agus níos lú ná nó cothrom le (<=). De ghnáth, luacháiltear
sloinn Boole mar true nó mar false. Is féidir iad a chur le chéile ina sloinn Boole níos mó
(níos cumhachtaí agus níos casta) trí na hoibreoirí loighciúla a úsáid i.e. NOT loighciúil (!),
AND loighciúil (&&), agus OR loighciúil (||).
Féadfaidh cineálacha sonraí iad féin a bheith simplí nó cumaisc. Is cineálacha sonraí simplí
JavaScript iad number, string, boolean, null agus undefined. Tugtar oibiachtaí freisin ar
chineálacha sonraí cumaisc. Sula dtosaíonn inneall JavaScript ar ríomhchlár a rith, cruthaíonn
sé oibiacht speisialta ar a dtugtar an oibiacht Uilíoch. Tá roinnt airíonna agus feidhmeanna
speisialta ag an oibiacht Uilíoch ar féidir le ríomhchlár JavaScript ar bith iad a úsáid. Na cinn is
suntasaí díobh sin ná Infinity, NaN, undefined, isFinite(), isNaN(), parseInt(),
Web Development Skills – Part B - JavaScript 22
parseFloat(), String(), Number(), Math(), Boole(), Array(), Date() agus
Object().
Focail Choimeádta JavaScript
Ciallaíonn focal coimeádta focal a bhfuil ciall faoi leith aige in JavaScript. Tá comhréir agus
séimeantaic (brí) ghaolmhar ag gach focal agus déantar cur síos orthu sa tsonraíocht teanga.
Nuair a thagann an t-inneall JavaScript ar fhocal coimeádta i ríomhchlár, rialaítear a iompar ag
na rialacha a leagtar amach sa tsonraíocht.
Ba cheart do ríomhchláraitheoirí focail choimeádta a úsáid chun na críocha beartaithe agus sin
amháin. Go sonrach, ciallaíonn sin nár cheart focail choimeádta a úsáid riamh mar ainmneacha
d’athróga nó d’aitheantóirí (i.e. ainmneacha athróg agus feidhmeanna) i ríomhchlár JavaScript
ar bith. Cuid ollmhór de JavaScript (agus teanga ríomhchlárúcháin ar bith) a fhoghlaim is ea
eolas a chur ar an gciall atá leis na focail choimeádta ann. Míneofar comhréir agus séimeantaic
go leor d’fhocail choimeádta JavaScript agus tabharfar samplaí díobh sa chuid seo den
lámhleabhar.
Taispeántar an liosta iomlán d’fhocail choimeádta JavaScript sa tábla thíos.
await debugger false instanceo
f this void
break default finally let throw while
case delete for new true with
catch do functio
n null try yield
class else if return typeof
const export import super undefine
d
continu
e extends in switch var
Eochairfhocail ECMAScript 2018
Nótaí:
⮚ Cé nach focail choimeádta JavaScript i ndáiríre iad na focail true, false, let, null agus
undefined, is cóir caitheamh leo amhail gur fhocail choimeádta iad. I measc na bhfocal
eile sa chatagóir seo nach bhfuil sa liosta thuas tá boolean, byte, char, double, float,
long, agus short.
Web Development Skills – Part B - JavaScript 23
⮚ Is cóir freisin smaoineamh ar athróga agus ar fheidhmeanna uilíocha amhail na cinn ar an
leathanach roimhe seo mar eochairfhocail, agus dá bharr sin, níor cheart iad a úsáid riamh
mar aitheantóirí ach an oiread.
⮚
An Sreabhadh Rialúcháin
Tagraíonn an sreabhadh rialúcháin don ord ina ritear línte ríomhchláir.
Cuir isteach an dá ríomhchlár seo a leanas (ceann amháin ag an am!) agus déan an t-aschur a
chóimheas.
An t-aschur ná …..
agus,
An t-aschur ná …..
Céard a thug tú faoi deara faoin aschur (i ndáil leis na ríomhchláir)?
POINTE TÁBHACHTACH: De ghnáth ritear línte cóid san ord céanna ina
bhfaightear iad i ríomhchlár. Tugtar próiseáil sheicheamhach air sin. Deirtear
go bhfuil an sreabhadh rialúcháin seicheamhach.
Feicfimid ar ball go bhfuil gnéithe (comhstruchtúir) sa teanga JavaScript a ligeann do
ríomhchláraitheoirí cód a scríobh a ritear ar bhealach neamh-sheicheamhach. Is péire de na
gnéithe sin iad roghnú agus atriall.
Web Development Skills – Part B - JavaScript 24
⮚ Baineann ríomhchláraitheoirí úsáid as roghnú nuair is mian leo ceann amháin as cúpla bloc
cóid, b’fhéidir, a roghnú lena rith. Is iad na comhstruchtúir roghnaithe is coitianta iad na ráitis
if agus if-else.
⮚ Baineann ríomhchláraitheoirí úsáid as atriall (nó lúbadh) nuair is mian leo an bloc cóid
céanna a rith, níos mó ná uair amháin, b’fhéidir. Is iad na comhstruchtúir lúbtha is coitianta
na ráitisfor agus while.
Nóta faoi Eangú
Tagraíonn eangú don spás folamh/do na spásanna folmha ag tús líne cóid (ar a dtugtar
spás/spásanna tosaigh).
Difríocht mhór sa chomhréir idir JavaScript agus Python is ea nach bhfuil eangú tábhachtach do
JavaScript, ní hionann is Python. Tá na liostálacha thíos ceart ó thaobh na comhréire de.
Níl eangú tábhachtach do JavaScript. Is ionann na trí liostáil ó thaobh na séimeantaice de.
Ar mhaithe le soiléire, moltar an leibhéal céanna eangaithe a úsáid do bhloic chóid a bhfuil gaol
loighciúil eatarthu. Is é an réamhshocrú nár cheart do chód JavaScript a eangú ach amháin sa
chás go ndéanfadh eangú níos soléite é.
Is é an réamhshocrú nár cheart spásanna tosaigh ar bith a
bheith i gcód JavaScript
Tagraítear do línte cóid a théann le chéile i ríomhchlár mar bhloic chóid.
Web Development Skills – Part B - JavaScript 25
Baineann JavaScript úsáid as lúibíní slabhracha chun bloic chóid a theormharcáil. Léiríonn an
lúibín slabhrach tosaigh (i.e. {) tús bloc cóid agus léiríonn an lúibín slabhrach deiridh (i.e. })
deireadh bloc cóid.
POINTE TÁBHACHTACH: Éilíonn comhréir JavaScript go mbeidh lúibín
slabhrach deiridh comhfhreagrach ag gach lúibín slabhrach tosaigh.
Web Development Skills – Part B - JavaScript 26
Cineálacha Sonraí agus Luachanna Litriúla Is tábhachtach do ríomhchláraitheoirí a bheith ar an eolas faoi na cineálacha éagsúla sonraí
nach mór dá ríomhchláir déileáil leo. Chun na críocha sin, is gá na bunchineálacha a dtacaíonn
teanga leo a thuiscint. Tacaíonn JavaScript le bunchineálacha (simplí) agus le cineálacha
oibiachta (cumaisc). Tosaímis ag féachaint ar bhunchineálacha JavaScript.
Bunchineálacha Sonraí
Léirítear sa ghrafaic thíos na cúig bhunchineál coitianta de chuid JavaScript:
Bhunchineálacha JavaScript
Is luach litriúil é luach ar bith ar féidir leis a bheith go díreach i ríomhchlár. Uaireanta, tugtar
luachanna cruachódaithe ar luachanna litriúla. Tá cineál sonraí taobh thiar de luachanna litriúla,
díreach mar atá ag gach luach. Is ceart, mar sin, labhairt faoi luachanna litriúla uimhriúla nó faoi
luachanna litriúla teaghráin.
Pléifear bunchineálacha sonraí JavaScript agus na luachanna litriúla a ghabhann leo anois.
string
Baintear úsáid as an gcineál sonraí string (teaghrán) chun ionadaíocht a dhéanamh ar
luachanna litriúla teaghráin. Is éard atá i luach litriúil teaghráin sraith carachtar ar bith idir
comharthaí athfhriotail – bíodh siad singil nó dúbailte. Féadfaidh gnáthcharachtair aibítre,
carachtair uimhriúla agus siombail Unicode ar bith a bheith i luachanna litriúla teaghráin. Féach
ar https://unicode-table.com/en/#combining-diacritical-marks chun liosta iomlán de na siombailí
is féidir a úsáid i dteaghrán a fháil.
Léiríonn an cód seo a leanas luachanna litriúla teaghráin in úsáid:
Web Development Skills – Part B - JavaScript 27
An cód is cúis leis an aschur seo a leanas a bheith á thaispeáint ar an gconsól:
Glacann JavaScript le formhór mór na gcarachtar
litriúil i luach litriúil teaghráin. Mar sin féin, chun líon
beag carachtair speisialta a thuiscint (e.g. táb,
comharthaí singile athfhriotail, cúlslais) éilíonn
JavaScript go n-úsáidtear seicheamh éalaithe.
Sainaithníonn an seicheamh éalaithe an carachtar
speisialta le JavaScript. Deirtear go bhfuil an
carachtar éalaithe.
Tugann an carachtar cúlslaise seicheamh éalaithe
isteach sa teaghrán.
Seicheamh
éalaithe Ciall
\n Líne nua
\t Táb
\’ Comhartha singil
athfhriotail
\” Comhartha
dúbailte athfhriotail
\\ Cúlslais
\uXXXX Carachtar Unicode
Carachtair seichimh éalaithe choitianta
POINTE TÁBHACHTACH: Baintear úsáid as seicheamh éalaithe chun carachtair
speisialta áirithe a shainaithint (carachtair spáis bháin nó carachtair nach féidir a
phriontáil de ghnáth) nach féidir iad a léiriú go litriúil mar chuid de theaghrán.
Bain triail as! Déan aschur gach ceann de na bloghanna cóid a thaispeántar thíos a thuar. Ansin taifead an t-aschur iarbhír. An raibh do chuid tuartha ceart?
Web Development Skills – Part B - JavaScript 28
number
Baintear úsáid as an gcineál sonraí number (uimhreas) chun slánuimhreacha agus
deachúlacha (i.e. uimhreacha snámhphointe) a léiriú.
Is féidir na hoibreoirí aonártha + agus – a úsáid chun comhartha aon luacha litriúil uimhriúil (i.e.
dearfach nó diúltach) a léiriú. Ní féidir le camóga ná spásanna a bheith i luachanna litriúla
uimhriúla. Is samplaí de luachanna litriúla slánuimhreacha bhonn 10 iad −20, 0, 12345 agus 7.
Is féidir luachanna litriúla slánuimhreacha i gcórais uimhreacha seachas córais bhonn 10 a
shonrú le carachtair thosaigh speisialta (i.e. carachtair a chuirtear roimh an uimhir) a úsáid. Mar
shampla,
- Bíonn 0x (nó 0X) mar réimíreanna ag slánuimhreacha heicsidheachúla e.g. tá 0𝑥𝐹𝐹
deachúil.255
- Bíonn 0b nó 0B mar réimíreanna ag slánuimhreacha dénártha bhonn 2 nó e.g. tá
0𝑏11111111 deachúil.255
- Cé nach cuid den tsonraíocht teanga oifigiúil iad, tacaíonn go leor cuir i bhfeidhm le
slánuimhreacha ochtnártha trí 0 a úsáid mar an réimír e.g. tá 0777 deachúil.255
Caithfidh ar a laghad digit amháin agus pointe deachúlach nó E (nó e) a bheith i luach litriúil
snámhphointe. Mar shampla, is luachanna litriúla snámhphointe bailí go léir iad 10𝐸6 (i.e.
1,000,000), 3.14E-2 (i.e. 0.0314), -0.000123 agus 0.000123.
Déanann JavaScript dhá airí speisialta a bhaineann le huimhreas a shainmhíniú: Infinity
agus NaN. Pléifear iad sin go luath.
Boole
Is iad true agus false an dá luach litriúil boole de chuid JavaScript – ba cheart caitheamh
leis an dá cheann acu mar fhocail choimeádta.
Tacaíonn JavaScript le coincheap ar a dtugtar ‘truthy’ agus ‘falsey’ – tagraíonn siad sin do
shloinn ar bith a luacháiltear mar na luachanna litriúla, true agus false faoi seach.
Luacháiltear na luachanna seo a leanas go léir mar false (chomh maith le false é féin):
Web Development Skills – Part B - JavaScript 29
− An uimhir nialas (0)
− Teaghrán folamh (“”)
− null
− undefined
− NaN
null agus undefined
Is dhá chineál éagsúla iad seo a roinneann an luach (folamh) céanna. Is luachanna ‘falsey’ an
dá cheann acu, ach tá difríochtaí caolchúiseacha eatarthu a mhínítear ach cur síos a dhéanamh
orthu:
- Baintear úsáid as null chun easpa (d’aon turas) luacha a thabhairt le fios
- Baintear úsáid as undefined chun easpa sainmhíniú luacha a thabhairt le fios Má tá
undefined mar luach ag athróg, ciallaíonn sin de ghnáth gur fógraíodh an athróg ach nach
bhfuil luach ar bith aici.
In JavaScript, deirtear go bhfuil dhá luach ar comhchéim má tá an luach céanna acu. Mar sin
féin, níl siad go hiomlán ar comhchéim ach amháin sa chás go bhfuil an luach céanna acu agus
gur den chineál céanna iad. Dá bharr sin, cé go bhfuil null agus undefined ar comhchéim (mar
gheall go bhfuil an luach céanna acu) níl siad go hiomlán ar comhchéim (mar gheall gur de chineálacha
difriúla iad). Is sampla foirfe de nádúr neamhghnách JavaScript é sin!
POINTE TÁBHACHTACH: Is teanga é JavaScript a chlóscríobhtar go dinimiciúil,
rud a chiallaíonn gur féidir athróga a úsáid, le linn a saolré, chun luachanna de
chineálacha sonraí bunúsacha difriúla a stóráil. Is féidir an t-oibreoir typeof a
úsáid chun iniúchadh a dhéanamh ar chineál athróige ag céim ar bith de
ríomhchlár JavaScript.
Web Development Skills – Part B - JavaScript 30
Cineálacha Oibiachta (cineálacha cumaisc)
Is éard atá i ríomhchlárú atá bunaithe ar oibiachtaí (OOP) ná paraidím a bhaineann le
hoibiachtaí a chruthú agus a úsáid. Is cineál sonraí iad oibiachtaí a úsáideann
ríomhchláraitheoirí chun fíor-rudaí sa domhan (ar a dtugtar oibiachtaí) a léiriú. Mar gheall gur
féidir il-luachanna a bheith ag oibiachtaí, déantar tagairt dóibh mar chineál sonraí cumaisc. Is
féidir é sin a chur i gcomparáid leis na cineálacha simplí nó bunchineálacha atá díreach pléite
againn.
Is sampla é JavaScript de theanga atá bunaithe ar oibiachtaí, rud a chiallaíonn go bhfuil gnéithe
aige chun tacú le struchtúir sonraí oibiachtaí. Is féidir smaoineamh ar struchtúir sonraí oibiachtaí
mar léiriú ar dhuine, ar áit nó ar rud i bhfoirm ríomhchláraithe. Sa chiall sin, soláthraíonn OOP
bealach lenar féidir na ‘rudaí’ sin a shamhlú i ríomhchlár. Is féidir cur síos a dhéanamh ar na
hoibiachtaí sin trína n-airíonna (agus athróga á n-úsáid) agus a n-iompar agus a
bhfeidhmeanna á n-úsáid (tugtar modhanna air sin de ghnáth, maidir le OOP).
Ní dhéanfar plé sa lámhleabhar seo (ná i Ríomheolaíocht na hArdteistiméireachta) ar
JavaScript a úsáid chun oibiachtaí a chruthú ach is tábhachtach a thuiscint céard iad agus cén
chaoi is féidir iad a úsáid. Is leor a rá faoi láthair, sa chás go bhfuil oibiacht o againn a bhfuil airí
p aici, agus modh m, ansin is féidir an t-oibreoir poinc (ar a dtugtar ball freisin) a úsáid chun
rochtain a fháil ar an airí agus chun an modh a ghairm. An chomhréir le haghaidh sin ná o.p
agus o.m() faoi seach.
Sa léaráid thíos4 taispeántar an tslí a bhféadfaí fíor-rud sa domhan, amhail rothar, a léiriú (nó a
shamhaltú) mar oibiacht i ríomhchlár.
4 Foinse: https://docs.oracle.com/javase/tutorial/
Web Development Skills – Part B - JavaScript 31
Oibiacht bhogearraí Rothar á shamhaltú mar oibiacht bhogearraí
Tá staid (i.e. airíonna) agus iompar ag oibiachtaí – léirítear staid mar athróga agus léirítear
iompar mar mhodhanna. Sa chás go roghnaíonn ríomhchláraitheoir OO rothar a shamhaltú mar
oibiacht, féadfaidh siad staid amhail luas, rithim agus giar a stóráil in athróga na hoibiachta;
agus féadfaidh siad cur síos a dhéanamh ar iompar an rothair ach modhanna amhail
luasghéaraigh, bris, athraigh giar, etc., a úsáid. (D’fhéadfadh siopa rothar ar líne feidhmchlár a
úsáid a chruthaíonn cásanna ama rite iolracha de na hoibiachtaí sin – ceann amháin le
haghaidh gach rothair faoi leith.)
Oibiachtaí ionsuite
Tá tacaíocht ionsuite ag JavaScript do thrí chineál oibiachtaí – oibiachtaí brabhsálaí, oibiachtaí
doiciméid agus oibiachtaí uilíocha. Mar gheall gur samhlacha iad na hoibiachtaí sin, is féidir
tagairt a dhéanamh dóibh mar an Samhaltán Oibiachta Brabhsálaí, an Samhaltán Oibiachta
Doiciméid agus an Samhaltán Oibiachta Uilíche (nó BOM, DOM agus GOM mar ghiorrúcháin ar
an leagan Béarla!).
Tá an Samhaltán Oibiachta Brabhsálaí comhdhéanta de shraith airíonna agus modhanna a
bhaineann leis an mbrabhsálaí ina ritear do ríomhchlár JavaScript. Baineann an dá mhodh –
alert agus prompt – a bheimid ag úsáid go fairsing sa lámhleabhar seo le samhail oibiachta
an bhrabhsálaí. Go deimhin, baineann console.log, atá in úsáid againn sna samplaí chun
faisnéis faoi chonsól an bhrabhsálaí a thaispeáint, leis an BOM.
Is gné de chuid JavaScript é an Samhaltán Oibiachta Doiciméid lenar féidir leathanaigh
ghréasáin/suíomhanna gréasáin idirghníomhacha a chur i gcrích. Is léiriú ama rite de
dhoiciméad nó leathanach gréasáin HTML é an DOM. Foráiltear leis amharc ríomhchláir ar an
gcód HTML taobh thiar de gach leathanach. Is féidir linn an DOM a úsáid chun inneachar agus
iompar leathanach gréasáin a athrú ‘ar eitleog’. Ciallaíonn sé sin gur féidir linn rud ar bith a
Web Development Skills – Part B - JavaScript 32
bhaineann le hinneachar/cuma leathanaigh a athrú, a scriosadh nó cur leis, ó laistigh de
ríomhchlár JavaScript atá á rith. Is féidir é sin ar fad a dhéanamh a bhuíochas do DOM. Fillfimid
ar an DOM níos faide anonn sa lámhleabhar.
Tá sé tábhachtach go mbeifí ar an eolas faoin Samhaltán Oibiachta Uilíche, fiú an
ríomhchláraitheoir JavaScript gan mórán taithí. Is amhlaidh sin mar gheall go bhfuil roinnt
airíonna agus feidhmeanna áisiúla aici ar féidir úsáid a bhaint astu fiú sna ríomhchláir
JavaScript is simplí. Is féidir na hairíonna agus na modhanna seo a rangú faoi na fotheidil seo a
leanas faoin Samhaltán Oibiachta Uilíche
- airíonna uilíocha
- feidhmeanna cruthaitheoirí
uilíocha
- oibiachtaí ionsuite agus
- feidhmeanna uilíocha
POINTE TÁBHACHTACH: Nuair a thosaíonn an t-
inneall JavaScript den chéad uair, cruthaíonn sé ásc
aonair dá oibiacht uilíoch. Is féidir rochtain a fháil ar
airíonna agus feidhmeanna na hoibiachta seo ó áit ar
bith i ríomhchlár JavaScript trí athróg oibiachta
speisialta ar a dtugtar this.
Taispeántar roinnt de na gnéithe is coitianta a úsáidtear in Oibiacht Uilíoch JavaScript sa léaráid
chrainn thíos. Ina dhiaidh sin, tugtar breac-chuntas ar roinnt de na hairíonna agus feidhmeanna
sin.
Oibiachtaí uilíocha JavaScript
Web Development Skills – Part B - JavaScript 33
Airíonna Uilíocha
Infinity
Go hinmheánach, léiríonn JavaScript uimhreacha (i.e. slánuimhreacha agus uimhreacha
deachúlacha) mar luachanna snámhphointe 64-ghiotáin. Is féidir luachanna slánuimhreacha ó
−253 suas go 253 a léiriú go cruinn. Maidir le huimhreacha deachúlacha, is é
±1.797693134862315𝐸308an raon.
Baintear úsáid as an luach Infinity chun luachanna uimhriúla a sháraíonn an t-uasmhéid
luaite a léiriú agus baintear úsáid as -Infinity chun luachanna uimhriúla atá níos lú ná an t-
íosmhéid féideartha a léiriú. Rud atá spéisiúil, má roinntear luach ar nialas faightear Infinity.
NaN
Léiríonn an luach NaN luach neamh-uimhriúil. Úsáidtear é in JavaScript lena chur in iúl nach
féidir luach a léiriú mar uimhir (i gcásanna ina gcaithfidh an luach a bheith ina uimhir, de
ghnáth). Mar shampla, má dhéanann tú iarracht slánuimhir a iolrú faoi luach litriúil teaghráin
éigin, is NaN a bheidh mar thoradh air sin.
Web Development Skills – Part B - JavaScript 34
Cruthaitheoirí Uilíocha
Is feidhmeanna speisialta iad sin a chruthaíonn oibiachtaí, nuair a ghlaoitear orthu.
Is minic a úsáidtear cruthaitheoirí uilíocha chun bunchineálacha a chur in iúl mar oibiachtaí –
próiseas ar a dtugtar timfhilleadh. Mar shampla,
- Is feidhm cruthaitheora é String() ar féidir é a úsáid chun luachanna theaghrán
de chineál a chur in iúl
- Is feidhm cruthaitheora é Number() ar féidir é a úsáid chun luachanna uimhir de
chineál a chur in iúl
- Is feidhm cruthaitheora é Boolean() ar féidir é a úsáid chun luachanna Boole de
chineál a chur in iúl
Array() an t-ainm ar fheidhm cruthaitheora eile. Pléitear eagair (arrays) agus teaghráin
(strings) go mion in áit eile sa lámhleabhar seo.
Léiríonn an líne chóid seo a leanas an tslí ar féidir an luach litriúil uimhriúil 19.64738 a
thimfhilleadh ach Number() a úsáid.
Number(19.64738)
Ach an bunluach seo a thimfhilleadh agus an cruthaitheoir uilíoch do Number a úsáid, is féidir
lenár gcód leas a bhaint anois as feidhmeanna amhail toFixed agus toPrecision atá
ionsuite mar chuid den sainmhíniú ar an oibiacht Number.
Léirítear sin sa líne chóid seo a leanas a thaispeánann 19.64738 agus 4 dhigit shuntasacha á
n-úsáid i.e. 19.65.
console.log(Number(19.64738).toPrecision(4));
Breathnaíonn an cód níos casta ná mar atá sé i ndáiríre – ag am rite, ritear é i dtrí chéim mar
seo a leanas:
1. Number(19.64738)
Glaoitear an cruthaitheoir uilíoch do Number. Mar thoradh ar an nglao sin, cruthaítear
oibiacht Number don bhunluach 19.64738.
Web Development Skills – Part B - JavaScript 35
2. Glaoitear an fheidhm toPrecision ar an oibiacht Number atá díreach cruthaithe. Is é
cuspóir an ghlao sa chód a thaispeántar anseo léiriú ar an uimhir a chruthú agus ceithre
dhigit shuntasacha á n-úsáid.
3. Taispeántar an toradh i.e. 19.65 agus console.log á úsáid.
Taispeántar ainmneacha agus cur síos gairid ar roinnt feidhmeanna Number eile (modhanna)
sa tábla thíos. (Tugtar liosta níos cuimsithí de mhodhanna don oibiacht Number san aguisín.)
Ainm an Mhodha Cur Síos
x.toExponential() Tugann léiriú teaghráin x i nodaireacht easpónantúil
19.64738.toExponential() 🡪 1.964738e+1
x.toFixed(len)
Tugann léiriú teaghráin x le digití len i ndiaidh an phointe
dheachúlaigh
19.64738.toFixed() 🡪 20
19.64738.toFixed(1) 🡪 19.6
19.64738.toFixed(2) 🡪 19.65
19.64738.toFixed(3) 🡪 19.647
x.toPrecision(len)
Tugann léiriú teaghráin x slánaithe go dtí digití suntasacha len
19.64738.toPrecision(0) 🡪 19.64738
19.64738.toPrecision(2) 🡪 20
19.64738.toPrecision(4) 🡪 19.65
19.64738.toPrecision(6) 🡪 19.6474
Úsáid choitianta amháin a bhaintear as Number() ná luachanna a thiontú ó chineálacha sonraí
éagsúla ina n-uimhreacha ar féidir a oibriú ach na feidhmeanna thuas a úsáid. Léirítear é sin
sna samplaí thíos
Number("123"); // aistrigh an luach litriúil teaghráin go 123
Number("1.23"); // 1.23
Number(true); // tugtar 1
Number(false); // tugtar 0
Ba cheart a thabhairt ar aird, sa chás nach féidir an luach a thiontú, tabharfar NaN
Number("Joe"); // NaN
Web Development Skills – Part B - JavaScript 36
Feidhmeanna Uilíocha
isNaN agusisFinite
Taispeántar úsáidí samplacha de isNaN agus de isFinite taobh le taobh sa tábla thíos. Is
difríocht chaolchúiseach ach tábhachtach í. (Pléitear an dá fheidhm in áit eile sa doiciméad seo)
⮚ isNaN("fifty"); // fíor
⮚ isNaN("10"); // bréagach
⮚ isNaN(99); // bréagach
⮚ isNaN(NaN); // fíor
⮚ isFinite("fifty"); //
bréagach
⮚ isFinite("10"); // fíor
⮚ isFinite(99); // fíor
⮚ isFinite(NaN); // bréagach
isNaN IsFinite
parseInt agus parseFloat
De ghnáth, úsáidtear an dá fheidhm uilíocha seo chun teaghráin a thiontú ina slánuimhreacha
bhonn 10 agus ina n-uimhreacha snámhphointe faoi seach.
Taispeántar úsáidí samplacha den dá fheidhm taobh le taobh sa tábla thíos.
⮚ parseInt("111"); // 111
⮚ parseInt("111two"); // 111
⮚ parseInt("111",2); // 7
⮚ parseInt("4.7",10); // 4
⮚ parseInt("4.7"); // NaN
⮚ parseInt("Joe"); // NaN
⮚ parseInt(true); // NaN
⮚ parseFloat(0.0123E+2) // 1.23
⮚ parseFloat(123E-2) // 1.23
⮚ parseFloat("50.5") // 50.5
⮚ parseFloat("50point5") // 50
⮚ parseFloat(".5") // 0.5
⮚ parseFloat(fifty5) // NaN
⮚ parseFloat(false) // NaN
Web Development Skills – Part B - JavaScript 37
parseInt parseFloat
Tabhair faoi deara gur féidir bonn (bonnuimhir) an luacha atá le parsáil a shonrú mar an dara
hargóint roghnach le parseInt. Dá bharr sin, tógann parseInt("111",2); "111" mar
uimhir bhonn 2 agus tugann 7 (coibhéiseach bhonn 10) mar thoradh.
Web Development Skills – Part B - JavaScript 38
Athróga agus Sannacháin Is coinneálaí ionaid í athróg le haghaidh sonraí atá á n-úsáid ag ríomhchlár atá á rith.
Le linn an reatha, coinnítear sonraí ríomhchláir i láithreacha cuimhne sealadacha a ndéantar
tagairt dóibh le hainmneacha athróige. Is féidir smaoineamh ar ainmneacha athróige mar
láithreacha cuimhne.
Cruthaíonn ríomhchláraitheoirí athróga le gur féidir lena ríomhchláir sonraí a stóráil go
sealadach ar féidir iad a úsáid ag pointe eile i ríomhchlár. Tagraíonn scóip athróige do na
codanna sin de ríomhchlár inar féidir athróg a úsáid go dlisteanach. Is féidir le scóip athróige a
bheith áitiúil nó uilíoch, ag brath ar an tslí agus ar an áit a bhfógraítear í laistigh den ríomhchlár.
POINTE TÁBHACHTACH: Is éard is athróg ann ná comhstruchtúr ríomhchlárúcháin a úsáidtear chun sonraí a stóráil (is é sin, cuimhneamh ar shonraí).
Machnamh Déan roinnt sonraí/athróg a d’fhéadfadh a bheith de dhíth ó na córais sa liosta
thíos a shainaithint
Córas Sonraí a úsáidtear sa chóras/Athróga
Córas UMB UAP, rogha, uimhir chuntais, iarmhéid, méid á
iarraidh, dáta/am
Córas Díolphointe (Miondíol)
Córas Leabharlainne
Netflix
Snapchat
Spotify
An cluiche PlayStation is fearr leat
Web Development Skills – Part B - JavaScript 39
Treoirlínte agus rialacha maidir le hathróga a ainmniú
Mar threoirlíne ghinearálta, ba cheart do ríomhchláraitheoirí ainmneacha atá simplí agus bríoch
a roghnú d’athróga. Nuair atá brí le hainm, insíonn sé dúinn céard chuige a n-úsáidtear an
athróg. Nuair a thugtar ainmneacha a bhfuil brí leo ar athróga, bíonn sé níos éasca do
ríomhchláraitheoirí eile an clár a léamh agus a thuiscint.
Agus ainm á roghnú d’athróg, d’fhéadfadh sé go gcabhródh sé leat dá smaoineofá ar
ainmfhocal a chuireann síos ar chuspóir na hathróige.
Ós rud é go scríobhtar ríomhchláir JavaScript agus an tsraith carachtar Unicode á n-úsáid, is
féidir carachtar ar bith a úsáid in ainm athróige. Tá na heisceachtaí seo a leanas i gceist:
⮚ Caithfidh an chéad charachtar in ainm athróige a bheith ina litir, ina fhostríoc (_), nó ina
chomhartha dollair ($). Is féidir le litreacha agus digití teacht ina dhiaidh sin.
⮚ Ní féidir spásanna, daiseanna ná poncanna a úsáid mar chuid d’ainm athróige.
⮚ Ní féidir le hainm athróige a bheith mar an gcéanna le ceann ar bith de na heochairfhocail
ná de na focail choimeádta de chuid JavaScript (e.g. if, else, function, etc.)
In JavaScript, meastar gur gnáthchleachtas é focail inmheánacha in ainmneacha ilfhoclacha a
dheighilt agus ceannlitreacha inmheánacha á n-úsáid e.g. firstName, highScore, agus
payRate. Meastar gur inghlactha freisin é fostríoc a úsáid chun focail ar leith atá scríofa i gcás
íochtair a dheighilt e.g. first_name, high_score agus pay_rate.
Is samplaí d’ainmneacha bailí (dlíthiúla) athróige iad seo a leanas: guess, _randomNum,
$userName, x_pos, höhe, agus x1.
Is samplaí d’ainmneacha neamhbhailí (neamhdhlíthiúla) athróige iad seo a leanas: 1x,
function, pay-rate, agus student.name
Má thagann inneall JavaScript ar ainm nach dtuigeann sé, taispeánfaidh sé earráid chomhréire
ar an gconsól.
Web Development Skills – Part B - JavaScript 40
Athróga a Fhógairt
Is éard atá i gceist le hathróg a fhógairt ná athróg a thabhairt isteach i ríomhchlár den chéad
uair i.e. JavaScript a chur ar an eolas go bhfuil láthair stórála nua anseo le haghaidh sonraí.
Úsáidtear an t-eochairfhocal let chun athróg a fhógairt in JavaScript.
Léirítear sa bhlúirín cóid thíos an focal let á úsáid chun trí athróg a fhógairt – firstNumber,
secondNumber agus sum.
let firstNumber = 1;
let secondNumber = 2;
let sum = firstNumber + secondNumber;
console.log("%d + %d = %d", firstNumber, secondNumber, sum);
Is féidir athróga a fhógairt freisin agus an t-eochairfhocal var á úsáid ach ní mholtar sin a
dhéanamh, mar a fheicfimid go luath.
Léirítear sa bhlúirín thíos an tslí le hathróga a fhógairt agus var á úsáid. Tá an t-aschur a
thaispeántar díreach mar an gcéanna leis an méid sa bhlúirín roimhe.
var firstNumber = 1;
var secondNumber = 2;
var sum = firstNumber + secondNumber;
console.log("%d + %d = %d", firstNumber, secondNumber, sum);
Mar sin, is eochairfhocail JavaScript iad let agus var a úsáidtear chun athróga a fhógairt. (Is
eochairfhocal é const atá gaolmhar.)
Nuair a fhógraítear athróg den chéad uair moltar túsluach éigin a thabhairt dó. Déantar sin ach
ráiteas sannacháin a úsáid.
Web Development Skills – Part B - JavaScript 41
Sannacháin
Tugtar sannachán ar an bpróiseas a bhaineann le luach athróige a shocrú. Deirimid go sanntar
luach d’athróg
Seo a leanas an ghnáthfhoirm a bhíonn ag ráiteas sannacháin
<variable-name> = <expression>;
Bíonn ainm na hathróige le feiceáil ar thaobh na láimhe clé agus bíonn slonn le feiceáil ar
thaobh na láimhe deise. Is é an tsiombail ‘=’ sa lár oibreoir sannacháin JavaScript.
POINTE TÁBHACHTACH: Cé go bhfuil na siombailí a úsáidtear chun oibreoir
sannacháin JavaScript agus cothromóid matamaitice a léiriú mar an gcéanna, níor
cheart iad a mheascadh mar go gciallaíonn siad dhá rud atá go hiomlán difriúil.
Cuireann ‘=’ oibreoir sannacháin in iúl. Nuair a thagann JavaScript ar ráiteas sannacháin,
luachálann sé an slonn ar thaobh na láimhe deise ar dtús. Déantar toradh an mheasúnaithe
sin a stóráil ansin san athróg a ainmnítear ar thaobh na láimhe clé.
Féadfaidh an slonn ar thaobh na láimhe deise a bheith ina mheascán de:
- luach litriúil amhail teaghrán (e.g. “Welcome”) nó uimhir (e.g. 7, 3.14)
- athróg(a) eile
- glao chuig feidhm a thugann luachanna a
- meascán ar bith de luachanna litriúla, athróga agus/nó feidhmeanna (i.e. slonn bailí
JavaScript ar bith)
Web Development Skills – Part B - JavaScript 42
Úsáid a bhaint as let vs. var
Tá difríochtaí caolchúiseacha idir let agus var – is féidir dhá cheann de na difríochtaí sin a
mhíniú i dtéarmaí scóipe agus ardaithe.
Scóip
Nuair a fhógraítear athróg agus an t-eochairfhocal var á úsáid, beidh scóip uilíoch nó áitiúil aici
ag brath ar cibé ar fógraíodh í laistigh nó lasmuigh d’fheidhm. Ní bhíonn athróga a fhógraítear
laistigh d’fheidhm agus var á úsáid le feiceáil ach amháin laistigh den fheidhm sin; seachas sin
bíonn siad le feiceáil ag an script iomlán ina bhfógraítear iad.
Bíonn scóip níos cúinge ag athróg a fhógraítear agus an t-eochairfhocal let á úsáid. Is
amhlaidh sin mar gheall go gcoinnítear a scóip chuig an mbloc cóid ina bhfógraítear é.
(Cuimhnigh go n-úsáidtear lúibíní slabhracha chun tús agus deireadh bloic chóid JavaScript a
mharcáil.) Leis sin, tugtar i bhfad níos mó smachta do ríomhchláraitheoirí ar na codanna cóid
atá in ann a n-athróga ‘let’ a úsáid. Mar shampla, is féidir athróg ‘let’ a fhógairt le scóip nach
síníonn lasmuigh de lúb while nó de chorpán ráiteas if.
Ardú
Sula ritear script, déanann an brabhsálaí (mar chuid den phróiseas lena lódáiltear an
leathanach), an cód iomlán a scanadh le haghaidh na n-athróg a fhógraítear leis an
eochairfhocal var. Agus é sin á dhéanamh aige, déanann sé liosta de na hathróga ‘var’. Gach
uair a thagann an brabhsálaí ar athróg ‘var’ nua, cuireann sé leis an liosta seo í.
Mar gheall ar an gcéim réamhphróiseála sin, is eol don inneall JavaScript ainmneacha na n-
athróg ‘var’ go léir sula ritear ríomhchlár. Caitheann sé le hathróga ‘var’ ar nós gur fógraíodh
iad ag tús an ríomhchláir. An ghlanéifeacht leis an bhfeiniméan seo ar a dtugtar ardú ná go
bhféadfaidh athróga ‘var’ teacht aníos (áit ar bith) i script sula bhfógraítear iad.
POINTE TÁBHACHTACH: Is ionann athróg a fhógairt agus an t-eochairfhocal var
a úsáid áit ar bith sa chód agus é a fhógairt ag an tús. Ardú a thugtar air sin.
Déanann an t-inneall JavaScript an dá bhlúirín cóid seo a leanas a rith ar an mbealach céanna.
month = 1;
var month;
var month;
month = 1;
Web Development Skills – Part B - JavaScript 43
console.log("The month is", month); console.log("The month is", month);
Tarlaíonn ardú athróige nuair a úsáidtear athróg sula bhfógraítear í.
Ní ardaíonn JavaScript athróga a fhógraítear leis an eochairfhocal let. Ní mór athróga den sórt
sin a fhógairt sula n-úsáidtear iad (rud críonna le déanamh ar aon nós!)
Mar shampla, tharlódh earráid mar thoradh ar an gcód seo a leanas (mar gheall nach
sainmhínítear month ar líne 3)
month = 1;
let month;
console.log("The month is", month); // Earráid
Léitheoireacht Bhreise
Féach ar https://www.geeksforgeeks.org/difference-between-var-and-let-in-javascript/ le
haghaidh tuilleadh eolais faoin difríocht idir let agus var.
Is féidir míniú ar an gcúis ar roghnaíodh an t-ainm "let" a fháil anseo.
https://stackoverflow.com/questions/37916940/why-was-the-name-let-chosen-for-block-scoped-
variable-declarations-in-javascri
POINTE TÁBHACHTACH: Deirtear go bhfuil athróg fógartha nuair a chuirtear in iúl
don ríomhchlár í. Moltar athróg a fhógairt leis an eochairfhocal let.
Web Development Skills – Part B - JavaScript 44
Tairisigh
Tá an chomhréir chun tairiseach a fhógairt cosúil leis an gcomhréir chun athróg a fhógairt.
Úsáidtear an t-eochairfhocal const seachas let (nó var).
Mar shampla, fógraíonn an líne thíos tairiseach ar a dtugtar PI agus túsaíonn é chuig 3.14.
const PI = 3.14;
console.log("PI:", PI); //3.14
De réir na ngnáthghnásanna, cuireann go leor ríomhchláraitheoirí tairisigh in iúl trí litreacha cás
uachtair a úsáid (agus focail ar leith á ndeighilt ag fostríoc má tá níos mó ná focal amháin sa
tairiseach).
Ní mór do thairisigh a bheith túsaithe mar chuid dá bhfógairt. (Feicfimid go luath nach amhlaidh
atá an scéal maidir le hathróga.) Dá bharr sin, ghinfeadh an cód seo a leanas earráid.
const PI; // SyntaxError: Missing initializer in const declaration
Mar a bheifeá ag súil leis, ní féidir luach tairisigh a athrú i ndiaidh duit é a fhógairt.
Léirítear sin sa líne thíos ina ndéantar iarracht luach an tairisigh a fógraíodh cheana, PI, a
athrú.
PI = 3.14159; // TypeError: Assignment to constant variable.
Pointí eile faoi thairisigh is fiú a thabhairt ar aird:
- Is ionann na rialacha scóipe do thairisigh agus na cinn d’athróga ‘let’. Dá bharr sin, ní
ardaíonn aitheantóirí const chuig tús an bhloic (ní hionann agus aitheantóirí var).
- Ní féidir le hainm tairisigh a bheith mar an gcéanna le hainm athróige atá sainmhínithe
cheana laistigh den scóip chéanna.
Dá bharr sin, ghinfeadh an cód a thaispeántar thíos earráid, agus déarfadh: Identifier
'corkToDublin' has already been declared
let corkToDublin;
const corkToDublin = 258.5; // SyntaxError: …
console.log("Distance:", corkToDublin);
Web Development Skills – Part B - JavaScript 45
Athróga Neamhshainithe
Ceann den iliomad difríochtaí caolchúiseacha idir JavaScript agus Python ná gur féidir athróga
in JavaScript a fhógairt gan túsú. (Éilíonn Python go ndéantar athróga a thúsú mar chuid dá
bhfógairt.)
Sa bhlúirín cóid a thaispeántar thíos, fógraítear athróg ar a dtugtar area gan aon túsú.
(D’fhéadfadh an t-aitheantóir a bheith cruthaithe ar an tslí chéanna trí var a úsáid in áit let)
let area;
console.log("The area is", area); // Tá area neamhshainithe
Nuair a tharlaíonn sin sannann JavaScript luach tosaithe undefined ar an athróg i gceist. (Is
athróg uilíoch in JavaScript éundefined.)
POINTE TÁBHACHTACH: Is éard atá in athróg undefined ná ceann a fógraíodh
ach nár sannadh luach uirthi (fós).
Féadfaidh athróga neamhshainithe a bheith ina bhfoinse fadhbanna agus mar sin meastar gur
droch-chleachtas iad. Mar shampla, má dhéanann tú iarracht uimhir a chur le luach
neamhshainithe – mar a léirítear sa bhlúirín cóid thíos – is NaN a bheidh mar thoradh air sin.
Seasann NaN do Not a Number agus is díol spéise é go bhfuil sé ar cheann eile d’athróga
uilíocha réamhshainithe JavaScript.
let count;
count = count+1;
console.log("Count:", count); // Count: NaN
Ar an gcúis sin, i measc cúiseanna eile, meastar go ginearálta gur droch-chleachtas
ríomhchlárúcháin é gan athróg a thúsú mar chuid dá luasmhoilliú.
Web Development Skills – Part B - JavaScript 46
Ilfhógairtí
Is féidir athróga neamhshainithe a mheas mar inghlactha sa chás go bhfuil siad túsaithe le
cheile ag úsáid teicníc ar a dtugtar slabhrú sannacháin. Is féidir sannacháin a ‘shlabhrú’ le
chéile d’fhonn luach amháin a shannadh d’athróga éagsúla.
let x, y, z; // fógair 3 athróg (neamhshainithe)
x = y = z = 0;
console.log("x:", x, "y:", y, "z:", z); // x: 0 y: 0 z: 0
Léiríonn an cód seo a leanas an tslí le roinnt athróg a fhógairt agus a thúsú in aon ráiteas
amháin. Tabhair faoi deara go bhfuil luachanna h agus l araon neamhshainithe i ndiaidh na
línte a rith. (Meastar gur droch-chleachtas é sin!)
let length=10, breadth=15;
let l, b=20, w=10, h;
Is féidir athróg a fhógairt níos mó ná uair amháin le var freisin. Mar shampla, tá an bhlogh
chóid thíos (sampla breá eile den droch-chleachtas!) dlíthiúil. Mar sin féin, ní féidir sin a
dhéanamh le let – cúis mhaith eile le let a úsáid in áit var!
var distance;
console.log("Distance:", distance); // Fad: neamhshainithe
var distance=10;
console.log("Distance:", distance); // Fad: 10
POINTE TÁBHACHTACH: Trí let a úsáid, tugtar cosaint in aghaidh ilfhógairtí den
athróg chéanna sa bhloc cóid céanna.
Nuair atá ilathróga á dtúsú in aon ráiteas amháin, ní mór a bheith cúramach a chinntiú go
sainmhínítear na luachanna riachtanacha roimh ré. Mar shampla, tá an ráiteas let x=0,
y=x; dlíthiúil mar gheall go bhfaigheann x a luach sula ndéantar y a thúsú. Tá an líne, let x,
y=x; dlíthiúil freisin ach bíonn dhá athróg neamhshainithe mar thoradh uirthi – x agus y. Mar
sin féin, tarlaíonn earráid mar thoradh ar an líne let x=y=0; mar gheall nach bhfógraítear y.
Déantar an pointe sa chód thíos go gcaitear a bheith cúramach gan aon athróga a fhorscríobh
trí thimpiste i rith an túsaithe. (Déantar túsluach y a scriosadh!)
let y = 0;
let z = 1;
let x = y = z;
console.log("x:", x, "y:", y, "z:", z); // x: 1 y: 1 z: 1
Web Development Skills – Part B - JavaScript 47
Athróga neamhfhógartha
Is éard is athróg neamhfhógartha ann, athróg a shainmhínítear le luach gan ceann ar bith de na
trí eochairfhocal seo a úsáid – let, var, nó const.
Mar shampla, déanann an cód seo a leanas inneachar athróige neamhfhógartha ar a dtugtar n
a shainmhíniú agus a thaispeáint.
n = 7;
console.log("The value of n is", n);
Cé go bhfuil an cód thuas dlíthiúil, ní mholtar é.
Cruthaíonn an t-inneall JavaScript rabhadh nuair a thagann sé ar athróga neamhfhógartha i
ríomhchlár. Is amhlaidh sin mar go bhféadfaidh iompar nach mbítear ag súil leis ón ríomhchlár
eascairt astu.
Web Development Skills – Part B - JavaScript 48
Ionchur an Úsáideora
An bealach is fearr chun sonraí a ghabháil ón úsáideoir deiridh agus chun iad a chur i
ríomhchlár JavaScript ná an t-ordú prompt a úsáid. Is API brabhsálaí é prompt agus nuair a
ghlaoitear é, taispeánann sé fuinneog aníos ina bhfuil réimse iontrála ar féidir í a úsáid chun
sonraí a iontráil. Is sampla den úsáid sin an méid seo a leanas;
let favColour = prompt("Enter your favourite colour");
Mar thoradh ar an líne thuas, thiocfadh an scáileán a thaispeántar anseo aníos i mbrabhsálaí an
úsáideora. Taispeántar an teaghrán Enter your favourite colour ar an bhfuinneog aníos mar leid
don úsáideoir deiridh.
Má chliceálann an t-úsáideoir ar an gcnaipe OK tugtar an luach a iontrálann an t-úsáideoir mar
theaghrán agus sanntar é don athróg favColour. Tugann an leid null má chliceálann an t-
úsáideoir ar an gcnaipe Cancel (fiú má tá téacs sa réimse iontrála).
Tugann prompt pé luach a iontráiltear mar theaghrán. Ciallaíonn sin, sa chás go bhfuil tú ag
iarraidh sonraí uimhriúla a ghabháil go mbeidh ort iad a athrú i do ríomhchlár. Bealach coitianta
amháin leis sin a dhéanamh ná an glao ar leid a thimfhilleadh laistigh den oibiacht Number mar
a thaispeántar anseo.
let age = Number(prompt("Tell me your age"));
Sa chás seo, athraítear pé luach a iontrálann an t-úsáideoir ina uimhir agus stóráiltear é san
athróg age. Ciallaíonn sin gur féidir age a úsáid in oibríochtaí uimhríochta amhail dealú, mar a
thaispeántar thíos.
let age = prompt("Enter your age and I will tell you the year you were born");
let currentYear = new Date().getFullYear(); // Faigh an bhliain reatha, bbbb
console.log("You were born in", currentYear - age);
Web Development Skills – Part B - JavaScript 49
Cuireann an úsáid a bhaintear as leid isteach ar an úsáideoir deiridh – déanfaimid scrúdú ar ball
ar an tslí le sonraí a ghabháil ó fhoirm ar leathanach gréasáin agus DOM á úsáid agus ar
láimhseáil imeachtaí, ach bainfimid úsáid as leid faoi láthair.
Web Development Skills – Part B - JavaScript 50
Cleachtaí Ríomhchlárúcháin – Athróga
1. Scríobh líne chóid chun gach ceann de na nithe seo a leanas a dhéanamh:
a) athróg slánuimhreach ar a dtugtar result a fhógairt, í túsaithe go nialas
b) an luach 50 a shannadh ar an result
c) luach an result a thaispeáint
d) an luach 80 a shannadh ar an result
e) luach an result a thaispeáint
2. Scríobh líne chóid chun gach ceann de na nithe seo a leanas a dhéanamh:
a) athróg ar a dtugtar firstName a fhógairt, túsaithe chuig do chéad ainm féin.
b) athróg ar a dtugtar lastName a fhógairt, túsaithe chuig do shloinne féin.
c) inneachar na n-athróg a thaispeáint ar an gconsól aschuir.
3. Léigh an bloc cóid seo a leanas go cúramach agus freagair na ceisteanna:
let a=10;
let b=5;
let temp=a;
a=b;
b=temp;
a) Cá mhéad athróg atá ann? (Cé na hainmneacha atá orthu?)
b) Céard iad na túsluachanna atá acu?
c) Céard iad na luachanna atá ag a, b agus temp ag deireadh an ríomhchláir?
d) Mínigh – in aon abairt amháin – céard a dhéanann an ríomhchlár.
e) Cén chúis atá leis an athróg temp?
4. Liostaigh roinnt athróg a d’fhéadfaí a úsáid sna córais seo a leanas.
a) Córas UMB
b) Córas Áirithintí Aerlíne
c) Córas Iarratais Coláiste
d) Amazon/Facebook
e) Feidhmchlár Áireamháin
Web Development Skills – Part B - JavaScript 51
Web Development Skills – Part B - JavaScript 52
5. Déan cur síos ar an méid a cheapann tú a dhéanann an ríomhchlár.
colour = prompt ("Please enter your favourite colour")
console.log("Your favourite colour is", colour)
6. Cuir isteach an cód seo a leanas agus rith é. Céard a dhéanann sé?
firstName = prompt("What is your name?");
colour = prompt("What is your favourite colour?");
console.log("Hi", firstName, "Your favourite colour is", colour);
7. Mionathraigh an cód sa cheist roimhe seo le go n-iarrfaidh sé a shloinne chomh maith
lena chéad ainm ar an úsáideoir.
8. Críochnaigh é seo a leanas:
a) Scríobh líne chóid a iarrann ar úsáideoir cá mhéad deartháireacha atá aige. Stóráil an
luach a iontráiltear in athróg dar teideal brothers.
b) Anois scríobh líne chóid a iarrann ar úsáideoir cá mhéad deirfiúracha atá aige. Stóráil
an luach a iontráiltear in athróg dar teideal sisters.
c) Ar deireadh, scríobh líne a úsáideann na luachanna a iontráladh i gcodanna a) agus b)
chun teachtaireacht a thabhairt, ar nós, You have 2 brothers and 3 sisters
Web Development Skills – Part B - JavaScript 53
Oibreoirí agus Sloinn Uimhríochta Sa rannóg seo, déanfaimid scrúdú ar na hoibríochtaí bailí do bhunchineálacha sonraí éagsúla.
Oibríochtaí Uimhríochta
Tacaíonn JavaScript leis na hoibríochtaí
uimhríochta dénártha bunúsacha, suimiú (+),
dealú (-), iolrú (*), roinnt (/), fuílleach (%, modal)
agus an ceann is déanaí (ó 2016)
easpónantúchán (**).
Oibríonn na hoibreoirí go léir le dhá oibreann, ar
féidir leo a bheith ina luachanna litriúla uimhriúla
nó ina n-athróga agus a luacháiltear iad mar aon
luach uimhriúil amháin.
Cuir isteach an cód seo a leanas agus déan a aschur a thaifeadadh.
JavaScript Aschur
let x = 2, y = 3; z=6;
console.log("Sum:", x, "+", y, "=", x+y);
console.log("Difference:", z, "-", y, "=", z-y);
console.log("Product:", y, "*", z, "=", y*z);
console.log("Quotient 1:", y, "/", z, "=", y/z);
console.log("Quotient 2:", z, "/", x, "=", z/x);
console.log("Remainder 1:", z, "%", x, "=", z%x);
console.log("Remainder 2:", x, "%", z, "=", x%z);
console.log("Divide into zero:", 0, "/", x, "=", 0/x);
console.log("Divide by zero:", x, "/", 0, "=", x/0);
console.log("Zero into zero:", 0, "/", 0, "=", 0/0);
console.log("Remainder and zero 1:", 0, "%", x, "=", 0%x);
console.log("Remainder and zero 2:", x, "%", 0, "=", x%0);
console.log("Remainder and zero 3:", 0, "%", 0, "=", 0%0);
console.log("Power 1:", x, "**", y, "=", x**y);
console.log("Power 2:", x, "**", -y, "=", x**-y);
Web Development Skills – Part B - JavaScript 54
Oibreoirí Incrimintí agus Deicrimintí
Tacaíonn JavaScript le hoibreoirí incrimintí agus deicrimintí – is iad sin + + agus − − faoi
seach. Tá an dá oibreoir aonártha, rud a chiallaíonn nach dteastaíonn ach oibreann amháin
uathu. Cuireann incrimint aonártha ceann amháin lena oibreann agus dealaíonn deicrimint
aonártha ceann amháin. Caithfidh an oibreann a bheith ina hathróg sa dá chás (i.e. ní féidir léi a
bheith ina luach litriúil). Is amhlaidh sin mar gheall go stóráiltear an luach iarmhartach san
athróg.
Léiríonn an ríomhchlár thíos an úsáid a bhaintear as an oibreoir incriminte aonártha:
// Uimhríocht aonártha – incrimint agus
deicrimint
let x = 7;
let y = x;
console.log("x before post-increment", x); // 7
console.log("Post-increment:", x++); // 7
console.log("x after post-increment", x); //8
console.log("y before pre-increment", y); // 7
console.log("Pre-increment:", ++y); // 8
console.log("y after pre-increment", y); // 8
Cód JavaScript Aschur
POINTE TÁBHACHTACH: Má bhaintear úsáid as an oibreoir roimh an athróg (e.g.
++a) tugtar an luach nua i ndiaidh na hoibríochta. Tugtar nodaireacht réamhshuite
air sin.
Má úsáidtear an t-oibreoir i ndiaidh na hathróige (e.g. b--) tugtar luach na hathróige
sula ndéantar an oibríocht. Tugtar nodaireacht iarshuite air sin.
Bunaithe ar an méid thuas, cén t-aschur a chruthódh an cód seo a leanas, meas tú?
// Deicrimint aonártha
let a = 2;
console.log("a before post-decrement", a);
console.log("Post-decrement:", a--);
console.log("a after post-decrement", a);
console.log("Pre-decrement:", --a);
console.log("a after pre-decrement", a);
ASCHUR
Web Development Skills – Part B - JavaScript 55
Web Development Skills – Part B - JavaScript 56
Oibreoirí Sannacháin Cumaisc
Is féidir oibreoirí agus sannacháin uimhríochta a chur le chéile le hoibreoirí sannacháin cumaisc
JavaScript. Is comhstruchtúr comhréireach luathscríofa iad na hoibreoirí sin is féidir a úsáid
nuair a bhíonn luach athróige á athríomh maidir léi féin.
Is iad na hoibreoirí sannacháin cumaisc is coitianta +=, −=, ∗= agus /=. Léirítear sampla
simplí dá n-úsáid thíos.
let score = 100; Túsaigh athróg ar a dtugtar score go 100
score += 50; // 150 Cuir 50 le score – 150 an luach nua
score -= 10; // 140 Bain 10 ó score – 140 an luach nua
score /= 2; // 70 Roinn score ar 2 – 70 an luach nua
score *= 5; // 350 Iolraigh score faoi 5 – 350 an luach nua
POINTE TÁBHACHTACH: I sannachán cumaisc, déantar oibríocht ar athróg agus
sanntar an toradh don athróg chéanna sin.
Teastaíonn dhá oibreann chun sannachán cumaisc a dhéanamh – ní mór don oibreann chlé a
bheith ina hainm athróige agus ní mór don oibreann dheas a bheith ina slonn. Ansin cuirtear an
oibríocht i bhfeidhm ar an dá oibreann agus déantar an luach a bhíonn mar thoradh air sin a
stóráil san oibreann chlé.
Tugtar achoimre sa tábla thíos ar phríomh-oibreoirí sannacháin cumaisc JavaScript:
Web Development Skills – Part B - JavaScript 57
Tiontuithe Cineáil
Is eol dúinn cheana féin go dtugann an t-oibreoir suimithe (+) suim dhá luach uimhriúla.
Oibríonn sin go maith nuair is number atá mar chineál sonraí an dá oibreann, mar a léirítear
sna samplaí anseo.
1 + 2 tugtar 3
1 + -2 tugtar -1 agus
1.234 + 4.321 tugtar 5.555
Ach céard a tharlaíonn nuair nach number atá i gcineál sonraí an dá oibreann nó ceachtar acu?
Féachaimis ar roinnt samplaí.
Slonn Toradh Nóta tráchta
"Joe" + "Blogs” "JoeBlogs" Má shuimítear dhá theaghrán, faightear teaghrán nua atá comhdhéanta den chéad teaghrán agus ansin an dara ceann. Tugtar comhchaitéiniú air sin.
1 + "Bloggs" "1Blogs" Má shuimítear luach uimhriúil agus teaghrán faightear teaghrán nua. Tiontaítear an luach uimhriúil ina theaghrán agus comhchaitéinítear an dá luach
1 + "2" "12" Arís, tiontaítear an chéad oibreann ina teaghrán.
1 + 2 + "Goals" "3Goals" Déantar an oibríocht ó chlé go deas.
1 + (2 + "Goals") "12Goals" Bíonn tosaíocht ag na lúibíní
POINTE TÁBHACHTACH: In JavaScript, ní dhéanfaidh an t-oibreoir + suimiú
uimhríochta ach amháin sa chás gur féidir an dá oibreann a thiontú ina luach
uimhriúil. Tugtar comhchaitéiniú teaghráin ar iompar uathoibríoch an oibreora +.
Maidir le gach oibríocht seachas suimiú (i.e. −, ∗, / etc.) déanfaidh JavaScript iarracht aon
oibreanna teaghráin a thiontú ina slánuimhreacha. (An chúis leis sin ná nach dtacaíonn
teaghráin leis na hoibríochtaí uimhríochta eile sin.) Léirítear sin sna sloinn seo a leanas:
⮚ Luacháiltear 10 - "2" go 8
⮚ Luacháiltear "10" * "50" go 500
Tugtar teaghráin uimhriúla ar na teaghráin a
léirítear anseo (mar gheall gur féidir iad a thiontú
ina n-uimhreacha). Deirtear gur intuigthe é an
Web Development Skills – Part B - JavaScript 58
⮚ Luacháiltear "100" / 50 go 2 tiontú mar gheall go dtarlaíonn sé go
huathoibríoch.
Sa chás nach teaghrán uimhriúil é ceachtar den dá oibreann, tabharfaidh JavaScript an luach
NaN (Not a Number). Luacháiltear na sloinn thíos go léir go NaN.
⮚ "fifty" - "ten"
⮚ 5 * "hotel"
⮚ 99 / "true"
Is ‘cor’ uathúil de chuid JavaScript é NaN. Ní hamháin gur bunchineál é ach is luach freisin é. Ina
theannta sin, is luach é nach bhfuil cothrom leis féin (nó le luach ar bith eile)! Mar thoradh air
sin, tugann na frásaí seo a leanas go léir false
⮚ "fifty" == NaN // bréagach
⮚ "5" == NaN // bréagach
⮚ 5 == NaN // bréagach
⮚ NaN == NaN // bréagach
An rud a thugtar le tuiscint leis sin, nuair is mian linn a fháil amach cibé an uimhir é slonn, is
féidir linn é a chóimheas le NaN. Ach na bí buartha! Lena chinntiú cibé an uimhir é luach, tugann
JavaScript feidhm uilíoch ar a dtugtar isNaN. Tugann an fheidhm seo true sa chás nach
uimhir an argóint a sheachadtar chuige (i.e. nach féidir é a thiontú ina huimhir); false seachas
sin.
Bealach eile lena fháil amach an luach í uimhir ná an fheidhm uilíoch isFinite a úsáid.
Taispeántar úsáidí samplacha de isNaN agus de isFinite taobh le taobh sa tábla thíos. Is
difríocht chaolchúiseach ach tábhachtach í.
⮚ isNaN("fifty") // fíor
⮚ isNaN("10") // bréagach
⮚ isNaN(99) // bréagach
⮚ isFinite("fifty") // bréagach
⮚ isFinite("10") // fíor
⮚ isFinite(99) // fíor
Web Development Skills – Part B - JavaScript 59
⮚ isNaN(NaN) // fíor ⮚ isFinite(NaN) // bréagach
isNaN isFinite
Uimhríocht agus Luachanna Boole
Nuair a úsáidtear luachanna Boole i slonn uimhríochtúil, tiontaíonn JavaScript true agus
false ina luachanna uimhriúla 1 agus 0 faoi seach. Léiríonn an sliocht thíos a ndéanann +
nuair is Boole é ceann amháin de na hoibreanna nó an dá oibreann. (Taispeántar aschur gach
líne sa nóta tráchta.)
console.log(true + 1); // 2
console.log(false + 1); // 1
console.log(true + false); // 1
console.log(true + "false"); // fíor/bréagach
Déanann dealú, méadú agus roinnt an rud céanna.
console.log(true - false); // 1
console.log(99 * true); // 99
console.log(true / 1); // 1
console.log(false / 1); // 0
console.log(true / false); // Éigríoch
Tabhair faoi deara sa sampla deireanach – is ionann roinnt ar false agus roinnt ar nialas. In
JavaScript, tugtar an luach Infinity i gcónaí mar thoradh ar roinnt ar nialas.
Web Development Skills – Part B - JavaScript 60
An oibiacht uilíoch Matamaitice5
Is oibiacht uilíoch JavaScript é Math. Ciallaíonn sin go bhfuil sé ar fáil go huathoibríoch do gach
ríomhchlár JavaScript.
Déantar cur síos ar roinnt de na hoibríochtaí is coitianta a dtacaíonn Math leo sa tábla thíos.
Modh Cur Síos Samplaí Toradh
Math.round(x);
Tugann x slánaithe suas nó
síos go dtí an tslánuimhir is gaire
Math.round(9.7); 10
Math.round(9.3); 9
Math.ceil(x); Tugann an tslánuimhir is gaire atá níos mó ná nó cothrom le x
Math.ceil(9.7); 10
Math.ceil(9.3); 10
Math.floor(x);
Tugann an tslánuimhir is gaire atá níos lú ná nó cothrom le x
Math.floor(9.7); 9
Math.floor(9.3); 9
Math.pow(x, y); Tugann x ardaithe i
gcumhacht y.
Math.pow(2,5); 32
Math.pow(5,2); 25
Math.sqrt(x); Tugann fréamh chearnach dhearfach x
Math.sqrt(25); 5
Math.sqrt(-25); NaN
Math.cbrt(x); Tugann fréamh chiúbach x Math.cbrt(64); 4
Math.cbrt(-64); -4
Math.abs(x); Tugann luach uimhriúil x Math.abs(25); 25
Math.abs(-25); 25
Math.max(x, …)
Tugann an t-uasmhéid de liosta d’uimhir amháin nó níos mó
Math.max(1,-2,-1); 1
Math.min(x, …)
Tugann an t-íossmhéid de liosta d’uimhir amháin nó níos mó
Math.min(1,-2,-1); -2
Go ginearálta, tabharfaidh modh Math NaN sa chás gur neamhbhailí iad an argóint nó na
hargóintí a sholáthraítear.
Tacaíonn an oibiacht Math le roinnt tairiseach freisin. An ceann is suntasaí díobh sin ná
Math.PI a shainmhínítear mar 3.141592653589793.
5 Féach ar https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math chun
tuilleadh mionsonraí a fháil
Web Development Skills – Part B - JavaScript 61
Web Development Skills – Part B - JavaScript 62
Uimhreacha Randamacha
Tá feidhm ar a dtugtar random sa leabharlann Math freisin a thugann uimhir snámhphointe
shúdarandamach idir 0 (iniatach) agus 1 (eisiach).
POINTE TÁBHACHTACH: chun slánuimhir dhearfach randamach idir min agus
max iniatach a chruthú, bain úsáid as an líne chóid JavaScript seo a leanas.
Math.floor(Math.random() * (max - min +1)) + min;
Tugtar roinnt samplaí den úsáid a bhaintear as Math.random sa tábla thíos:
Sampla Cur Síos
Math.floor(Math.random() * 10); Tugann slánuimhir 𝑟 ionas go:
0 ≤ 𝑟 < 10
Math.floor(Math.random() * 11); Tugann slánuimhir 𝑟 ionas go:
0 ≤ 𝑟 ≤ 10
Math.floor(Math.random() * 10) + 1; Tugann slánuimhir 𝑟 ionas go:
1 <= 𝑟 ≤ 10
Scríobh ráiteas JavaScript chun uimhir randamach, r, a chruthú idir dhá
shlánuimhir, x agus y, ionas go:
(i) 𝑥 < 𝑟 < 𝑦
(ii) 𝑥 ≤ 𝑟 ≤ 𝑦
Tabhair breac-chuntas ar thrí chás ina bhféadfadh úsáid a bhaint as uimhreacha randamacha a bheith áisiúil.
1.
2.
3.
Web Development Skills – Part B - JavaScript 63
Tosaíocht Oibreoirí
Tagraíonn tosaíocht oibreoirí don ord ina gcuirtear oibreoirí i bhfeidhm nuair a bhíonn slonn á
luacháil.
De ghnáth, déantar sloinn nach bhfuil ach cineál oibríochta amháin acu a luacháil ó chlé go
deas. Mar sin féin, nuair a bhíonn níos mó ná cineál oibríochta amháin i slonn, baineann
JavaScript úsáid as a rialacha tosaíochta chun an t-ord ina luachálfar an slonn a chinneadh.
Déanann na rialacha tosaíochta sin cur síos ar thábhacht choibhneasta na n-oibreoirí
JavaScript maidir lena chéile.
Léirítear thíos tosaíocht na n-oibreoirí JavaScript is coitianta a mbaintear úsáid astu6.
Nótaí:
1) Bíonn oibreoirí le tosaíocht níos airde le feiceáil níos airde sa tábla ná oibreoirí le tosaíocht
níos ísle. Sin an fáth a ndéantar Iolrú agus Roinnt roimh Shuimiú agus Dealú i gcónaí, sa
chás nach bhfuil lúibíní ann. Mar sin, 2 + 3 × 4 → 14 (agus ní 20) agus 10 − 8 ÷ 2 + 3 → 9
(agus ní 4).
2) Bíonn an leibhéal céanna tosaíochta ag oibreoirí a bhíonn ar an ró céanna. De ghnáth,
luacháiltear na hoibreoirí sin ó chlé go deas. Mar shampla, tá an leibhéal céanna tosaíochta
6 Chun tagairt níos iomláine ar thosaíocht oibreoirí a fháil, téigh chuig:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence
Web Development Skills – Part B - JavaScript 64
ag Iolrú agus ag Roinnt. Mar sin, 8 × 4 ÷ 2 → 16 cé go, 8 ÷ 4 × 2 → 4. Ar an gcaoi chéanna,
8 + 4 − 2 → 10 agus 8 − 4 + 2 → 6
3) Déantar na hoibreoirí ar na línte i gcló trom a luacháil ó dheas go clé. Mar shampla, 2 ∗∗ 3 ∗∗
2 → 512 (i.e. 29 agus ní 82 mar a mbeifeá ag súil leis). Tabhair faoi deara freisin go
ndéantar sannacháin a luacháil ó dheas go clé. Míníonn sin an fáth a ndéantar an slonn ar
thaobh na láimhe deise d’oibreoir sannacháin a luacháil ar dtús (i.e. sula sanntar an toradh).
4) Mar fhocal scoir, is fiú a thabhairt ar aird, cé go ndéantar grúpáil (i.e. lúibíní), bíonn an
leibhéal céanna tosaíochta, atá níos airde ná leibhéal na n-oibreoirí go léir a dtaispeántar,
ag an oibreoir new, an t-oibreoir poinc (ar a dtugtar an t-oibreoir baill freisin mar gheall go n-
úsáidtear é chun rochtain a fháil ar airíonna oibiachtaí agus chun a modhanna a ghairm)
agus ag glaonna feidhme – nach dtaispeántar ceann ar bith díobh sa tábla tosaíochta ar an
leathanach roimhe seo.
5) Is ag lúibíní atá an leibhéal is airde tosaíochta maidir le sloinn JavaScript a mheas. Mar sin,
déanfar slonn idir lúibíní a luacháil ar dtús i gcónaí. Mar shampla, (2 + 3) × 4 → 20
Úsáid an spás thíos chun aon phointí suntasacha i ndáil le tosaíocht oibreoirí a scríobh.
Web Development Skills – Part B - JavaScript 65
Cleachtaí Ríomhchlárúcháin (Oibreoirí Uimhríochta)
Bain triail as an méid seo a leanas.
1. Ó tharla go bhfuil x==2, agus y==6 céard chuige a luacháiltear na sloinn JavaScript thíos?
a) x+y
b) x-y
c) 5*y
d) 5*x+y
e) 3*(x+y)
f) x*y+4
g) y/x+1
h) y/x+y
i) (x*y)+(y/x)
j) y%x
2. Scríobh sloinn JavaScript chun gach ceann de na línte seo a leanas a luacháil:
a) 74 iolraithe faoina 64
b) 81 roinnte ar 10
c) 100 roinnte ar 81
d) 25𝜋
e) (7 − 1) ÷ (4 − 2)
f) 10 𝑥 50
5
g) 10 × 50
5
h) 72
i) √7
j) 2√7
I ngach cás, chomh luath agus a bheidh do shlonn scríofa, ba cheart duit é a úsáid i ráiteas
sannacháin chun do fhreagra a stóráil in athróg a ainmnítear go cuí agus ansin luach na
hathróige sin a thaispeáint i dteachtaireacht bhríoch ar an gconsól. Mar sin, mar shampla,
an freagra a bheadh ar 1 móide 2 ná:
let ans = 1 + 2;
console.log("1+2=", ans);
3. Scríobh líne chóid a shuimíonn na huimhreacha 62 agus 47 agus a thaispeánann an toradh.
4. Scríobh cód chun an méid seo a leanas a dhéanamh:
a) na huimhreacha 62 agus 47 a shuimiú agus an freagra a stóráil in athróg
b) inneachar na hathróige a thaispeáint
Web Development Skills – Part B - JavaScript 66
5. Ríomhtar meán uimhríochtúil an dá uimhir trí bhíthin iad a shuimiú agus an toradh a roinnt
ar 2. Scríobh cód chun meán uimhríochtúil 62 agus 47 a ríomh agus a thaispeáint.
6. Agus an bhlogh chóid seo a leanas agat a thúsaíonn trí athróg – x, y agus z – scríobh líne
chóid a ríomhann agus a thaispeánann a meán uimhríochtúil.
let x=27;
let y=15;
let z=18;
7. Déan aschur an chóid seo a leanas a thuar:
let x=3*4;
let y=10/2;
let z=6-1;
let sum=x+y+z;
console.log(x, y, z, sum);
8. Céard atá mícheart leis an méid seo a leanas (má tá aon rud mícheart leis)? (Tabhair
freagra líne ar líne.)
a) let x=1+2;
b) let 3=1+2;
c) let 10/2=5;
d) let sum=a+b+c;
e) let sum=ab+c;
k) let a=8*(-2);
l) let b=(8)(2);
m) let c=8*(+2);
n) let c=4*a;
o) let c=4a;
9. Is féidir achar dronuilleoige a ríomh trína leithead a iolrú faoina hairde. Agus an dá líne
chóid seo a leanas agat chun na hathróga width agus height a thúsú, scríobh an tríú líne
chun achar na dronuilleoige a ríomh agus a thaispeáint.
let width=7;
let height=5;
10. Is féidir imlíne dronuilleoige a ríomh trí dhá oiread an width a shuimiú le dhá oiread an
height. Agus an dá líne chóid seo a leanas agat chun an dá athróg seo a thúsú, scríobh
an tríú líne chun imlíne na dronuilleoige a ríomh agus a thaispeáint.
let width=7;
let height=5;
Web Development Skills – Part B - JavaScript 67
Agus an fhoirmle seo a leanas agat chun Fahrenheit (𝑓) a athrú go Ceinteagrád (𝑐) scríobh
ríomhchlár chun 100℉ a athrú go ℃ agus chun an toradh a thaispeáint.
𝑐 = (𝑓 − 32) ×5
9
11. Anois déan mionathrú ar an ríomhchlár atá díreach scríofa agat chun leid a thabhairt don
úsáideoir luach Celsius ar bith a iontráil agus an luach coibhéiseach a thabhairt in
Fahrenheit.
12. Léigh an cód seo a leanas go cúramach (ina centanna atá na luachanna) agus freagair na
ceisteanna a leanann é:
let fifties=4;
let twenties=5;
let tens =7;
let total=fifties*.5 + twenties*.2 +tens*.1;
console.log(total);
a) Cá mhéad athróg an úsáideann an ríomhchlár?
b) Cén chúis atá le gach athróg?
c) Céard a dhéanann an cód?
13. Déan mionathrú ar an ríomhchlár thuas chun an líon euro a ríomh, má ghlactar leis go bhfuil
nóta cúig euro agam, chomh maith le 22 bonn caoga cent, 17 mbonn fiche cent, 25 bonn
deich cent agus 13 bhonn dhá cent.
14. Déan mionathrú ar an ríomhchlár (arís) chun leid a thabhairt don úsáideoir na luachanna
éagsúla a chur isteach agus an líon iomlán a thaispeáint.
15. Tugtar fad imlíne ciorcail leis an bhfoirmle 𝑙 = 2𝜋𝑟. Scríobh ríomhchlár a thugann leid don
úsáideoir luach a chur isteach le haghaidh fhad an gha (r) agus a ríomhann agus a
thaispeánann fad na himlíne.
16. Scríobh ríomhchlár chun achar ciorcail a ríomh. (Nóta: 𝐴 = 𝜋𝑟2)
Web Development Skills – Part B - JavaScript 68
17. Mionsonraítear dhá phointe i bplána ach na comhordanáidí (𝑥1, 𝑦1) agus (𝑥2, 𝑦2) a úsáid.
Scríobh ríomhchlár a úsáideann an fhoirmle thíos chun fána líne idir dhá phointe a
iontrálann an t-úsáideoir a ríomh.
𝑠𝑙𝑜𝑝𝑒 =𝑦2 − 𝑦1
𝑥2 − 𝑥1
18. Scríobh ríomhchlár a ghlacann le dhá phointe agus a chinneann agus a thaispeánann an t-
achar eatarthu
Web Development Skills – Part B - JavaScript 69
Oibreoirí agus Sloinn Boole Is sloinn Boole iad sloinn ar féidir iad a luacháil mar true nó mar false. Is féidir sloinn shimplí
Boole a ríomhchlárú le hoibreoirí comparáide JavaScript agus is féidir sloinn chumaisc Boole a
ríomhchlárú le hoibreoirí loighciúla JavaScript. Pléifear an dá chineál oibreora anois.
Oibreoirí Comparáide
Mar a thugann an t-ainm le tuiscint, úsáidtear oibreoirí comparáide chun dhá luach a chur i
gcomparáid lena chéile. Is féidir comparáid a dhéanamh idir luachanna ó thaobh comhionannais
nó difríochta de. An toradh a bheidh ar chomparáid i gcónaí ná true nó false.
Tá oibreoirí comparáide tábhachtach mar gheall go ligeann siad do ríomhchláraitheoirí
coinníollacha a thógáil. Is bonn le haghaidh struchtúir rialaithe amhail lúba agus ráitis
roghnaithe iad coinníollacha a mbaineann ríomhchláraitheoirí úsáid astu chun cur i bhfeidhm
am rite a ríomhchlár a rialú. Is iad na codanna bunúsacha de ríomhchláir iad.
Tá liosta d’oibreoirí comparáide JavaScript sa tábla thíos7.
Nuair is na cineálacha sonraí céanna iad na luachanna a bhfuil comparáid á déanamh eatarthu,
bíonn iompar na n-oibreoirí comparáide sách simplí – déantar uimhreacha a chur i gcomparáid
de réir méide agus déantar teaghráin a chur i gcomparáid de réir aibítre (i.e. ar bhonn an
7 Is féidir an tagairt iomlán d’oibreoirí comparáide a fháil ag:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators
Web Development Skills – Part B - JavaScript 70
charachtair agus úsáid á baint as luach Unicode gach carachtair). Seo a leanas roinnt samplaí
de chineálacha céanna a chur i gcomparáid:
// Comparáidí – cineálacha sonraí céanna
console.log(3 < 20); // fíor
console.log(7 != 7); // bréagach
console.log(5 >= 7); // bréagach
console.log("cat" == "dog"); // bréagach
console.log("man" != "woman"); // fíor
console.log("man" < "woman"); // fíor
console.log("man" <= "men"); // fíor
Nuair a bhíonn na cineálacha sonraí difriúil lena chéile, aistríonn JavaScript na luachanna go
huimhreacha sula ndéantar comparáid eatarthu. Mar shampla, más teaghrán í oibreann amháin
agus más uimhir an ceann eile, déanfaidh JavaScript iarracht an teaghrán a thiontú ina uimhir
sula ndéanfar an chomparáid. Má éiríonn leis an tiontú, déanfar an dá uimhir a chur i
gcomparáid ar an ngnáthbhealach; mura n-éiríonn leis an tiontú, tabharfar NaN agus beidh
false mar thoradh air sin i gcónaí nuair a chuirtear i gcomparáid le rud ar bith é. Léirítear sin
sna samplaí seo a leanas:
// Comparáidí – teaghráin agus uimhreacha
console.log(3 < "20"); // fíor ("20" tiontaithe go 20)
console.log("3" <= "20"); // bréagach (comparáid idir dhá theaghrán: Unicodes ná 3:51, 2:50)
console.log("5" == 5); // fíor ("5" tiontaithe go 5)
console.log("5" === 5); // bréagach (dianchomhionannas, mar sin ní dhéantar tiontú)
console.log("five" == 5); // bréagach (is NaN é "five")
console.log("shark" > "5"); // fíor (comparáid idir dhá theaghrán: Unicodes ná s:115, 5:53)
console.log("shark" > 5); // bréagach (NaN é "shark")
Nuair a chuirtear luachanna Boole i gcóimheas le huimhreacha, déantar true a thiontú go 1
agus déantar false a thiontú go 0. Dá bharr sin;
// Comparáidí – boole agus uimhreacha
console.log(true == 1); // fíor
console.log(true === 1); // bréagach (dian-chomhionannas)
console.log(99 != true); // fíor
console.log(false != 0); // bréagach
Web Development Skills – Part B - JavaScript 71
Déan tástáil ar do thuiscint (oibreoirí comparáide)
Bain triail as an méid seo a leanas.
1. Céard chuige a luacháiltear na sloinn seo? (true nó false)
a) 7 == 7
b) 7 ! = 7
c) 7 >= 6
d) 2 < 3
e) 3 < 2
2. Luacháiltear na coinníollacha seo a leanas go léir mar false: Athraigh an t-
oibreoir le gur ionann iad agus true. (Féadfaidh tú níos mó ná
freagra amháin a bheith agat ar gach cuid, más mian leat.)
a) 4 < 3
b) 8 >= 9
c) 5 == 4
d) true != true
e) 99 == false
f) 8 < "10"
g) "8" != 8
h) "8" == 8
i) "8" === 8
3. Ag glacadh leis gur 𝑥 = 1, agus 𝑦 = 0 céard chuige a luacháiltear na coinníollacha
thíos?
a) 𝑥 > 5
b) 5 > 𝑥
c) 𝑦 <= 0
Web Development Skills – Part B - JavaScript 72
d) 0 == 𝑦
e) 𝑥 == 𝑦
f) 𝑥 ! = 𝑦
g) 𝑥 > 𝑦
h) 𝑦 > 𝑥
i) 𝑥 <= 𝑦
j) 𝑥 >= 𝑦
Web Development Skills – Part B - JavaScript 73
Oibreoirí Loighciúla
Is eol dúinn ón rannán roimhe seo gur féidir oibreoirí comparáide a úsáid chun coinníollacha
simplí a chur le chéile. Sa rannán seo, breathnóimid ar an tslí ar féidir na coinníollacha simplí
sin a cheangal ach oibreoirí loighciúla JavaScript a úsáid – taispeántar iad sa tábla thíos – chun
coinníollacha nua ar a dtugtar coinníollacha cumaisc a thógáil.
POINTE TÁBHACHTACH: Bíonn coinníoll cumaisc comhdhéanta de dhá choinníoll
shimplí nó níos mó. Is féidir coinníollacha a cheangal ach oibreoirí loighciúla
JavaScript a úsáid, ! (not), && (and), agus || (or).
Mar a fheictear ón gcolún comhréire sa tábla thuas, oibríonn gach ceann de na trí oibreoir
loighciúla – ! (NOT loighciúil), && (AND loighciúil), agus || (OR loighciúil) – ar oibreanna ar
sloinn Boole iad8 (a thaispeáintar, mar shampla, mar expr1 sa tábla thuas).
Is oibreoir aonártha é NOT loighciúil, rud a chiallaíonn nach dteastaíonn ach oibreann amháin le
go n-oibreoidh sé. Is oibreoirí dénártha iad AND loighciúil agus OR loighciúil, rud a chiallaíonn
go dteastaíonn dhá oibreann ionchuir le go n-oibreoidh siad. Ar mhaithe le cúrsaí a choinneáil
simplí, is sábháilte smaoineamh ar an luach a thugann na hoibreoirí loighciúla mar a bheith
true nó false.9
Tugtar na rialacha don tslí a gcuirtear na sloinn Boole simplí sin le chéile i dtáblaí fírinne.
Taispeántar na táblaí fírinne do NOT loighciúil, AND loighciúil agus OR loighciúil anseo thíos.
Tugtar liosta i ngach tábla fírinne de na hionchuir fhéideartha go léir sa cholún clé agus tugtar
na haschuir chomhfhreagracha sa cholún is faide ar dheis.
NOT
8 Féadfaidh na hoibreanna a bheith ina gcineálacha sonraí ar bith – ní cinn Boole agus sin amháin. Is amhlaidh
sin mar go ndéantar oibreanna Boole a thiontú ina luachanna truthy nó falsey mar chuid dár meastóireacht. 9 Is féidir na luachanna neamh-Boole a thugtar a thiontú ina mbunchineálacha Boole i gcónaí.
Web Development Skills – Part B - JavaScript 74
Baintear úsáid as an oibreoir (NOT loighciúil) ! chun luach Boole amháin a inbhéartú.
Taispeántar an tábla fírinne do NOT thíos. Is é A an t-ionchur agus is é !A an t-aschur.
Taispeántar sa chéad ró sa tábla go mbíonn !A false am ar bith a bhíonn A true.
Tábla fírinne do NOT loighciúil
AND
Taispeántar an tábla fírinne do && (AND loighciúil) thíos. Taispeántar sa chéad dá cholún na
hionchuir A agus B; sa tríú colún tá an t-aschur A && B. Taispeántar sa chéad ró sa tábla fírinne
go mbíonn an t-aschur A && B false sa chás go mbíonn an dá ionchur A agus B false.
Taispeántar sa dara ró go mbíonn A && B false sa chás go mbíonn A false agus B true, agus
mar sin de.
Tábla fírinne do AND loighciúil
OR
Taispeántar an tábla fírinne do || (OR loighciúil) thíos. Taispeántar sa chéad dá cholún na
hionchuir A agus B; sa tríú colún tá an t-aschur A || B. Taispeántar sa chéad ró sa tábla fírinne
go mbíonn an t-aschur A || B false sa chás go mbíonn an dá ionchur A agus B false.
Taispeántar sa dara ró go mbíonn A || B true sa chás go mbíonn A false agus B true, agus mar
sin de.
Web Development Skills – Part B - JavaScript 75
Tábla fírinne do OR loighciúil
Samplaí
1. Taispeántar sa tábla thíos an tslí a gcuirtear oibreoirí loighciúla i bhfeidhm leis na sloinn
Boole shimplí a thaispeántar sa cholún is faide ar chlé ar a dtugtar (i.e. Coinníoll)
Coinníoll Toradh Míniú
! (2 == 5) true 2==5 is false
not false is true
! (2 < 5) false 2<5 is true
not true is false
(5 > 2) && (5 > 4) true
5>2 is true
5>4 is true
true and true is true
(5 > 2) && (5 > 7) false
5>2 is true
5>7 is false
true and false is false
(3 > 2) || (3 > 4) true
3>2 is true
3>4 is false
true or false is true
2. Chun críche an tsampla seo, glac leis go bhfuil an athróg valid true agus go bhfuil an
athróg finished false.
Coinníoll Toradh Míniú
!valid false not true is false
!finished true not false is true
finished && valid false false and true is false
Web Development Skills – Part B - JavaScript 76
finished || valid true false or true is true
finished || !valid false false or not true
false or false is false
POINTE TÁBHACHTACH: Is bealach áisiúil é tábla fírinne chun na rialacha chun
sloinn Boole a chur le chéile a thaispeáint
3. Cuir i gcás go raibh athróg againn dar teideal age agus go raibh rabhamar ag iarraidh
ríomhaire a ríomhchlárú lena fháil amach an déagóir a bhí i nduine éigin. Is eol dúinn gur
déagóir i saol an Bhéarla atá i nduine idir 13 bliana d’aois agus 19 mbliana d’aois, an dá
aois sin san áireamh. Mar sin, beidh orainn insint don ríomhaire age a chur i gcomparáid
leis an dá luach sin. D’fhonn é sin a dhéanamh, cuirimid trí cheist:
o an bhfuil luach age níos mó ná nó cothrom le 13?
o an bhfuil age níos lú ná nó cothrom le 19?
o an bhfuil age níos mó ná nó cothrom le 13 AGUS an bhfuil age níos lú ná nó
cothrom le 19?
Is féidir an chéad dá cheist a chur in JavaScript ach oibreoirí cumarsáide a úsáid mar seo a
leanas
- age >= 13
- age <= 19
Déanaimid ár gcoinníoll cumaisc ach an loighciúil agus an t-oibreoir && a úsáid chun an dá
choinníoll shimplí a chur le chéile mar seo a leanas:
- ((age >= 13) && (age <= 19))
Chun an slonn cumaisc thuas a luacháil, ní mór dianbhreithniú a dhéanamh ar na ceithre
fhéidearthacht seo a leanas:
Web Development Skills – Part B - JavaScript 77
1) age >= 13 is false and age <= 19 is false. Níl aon aois fhéideartha ann a
d’fhéadfadh a bheith níos lú ná 13 agus níos mó ná 19. Mar sin, an t-aon chonclúid loighciúil
ann ná nach déagóir é an duine.
2) age >= 13 is false but age <= 19 is true. (Sa chás, mar shampla, gur 12 é age.) Sa
chás seo, luacháiltear an slonn foriomlán mar false agus féadfaidh an ríomhaire teacht ar
an gconclúid nach déagóir é an duine.
3) age >= 13 is true but age <= 19 is false. (Sa chás, mar shampla, gur 21 é age.) Sa
chás seo, luacháiltear an slonn foriomlán mar false agus féadfaidh an ríomhaire teacht ar
an gconclúid nach déagóir é an duine.
4) age >= 13 is true and age <= 19 is true. (Sa chás, mar shampla, gur 16 é age.) Sa
chás seo, luacháiltear an slonn foriomlán mar true agus féadfaidh an ríomhaire teacht ar
an gconclúid gur déagóir é an duine.
Tugtar achoimre ar na ceithre fhéidearthacht sa tábla thíos. Tá na hionchuir sa chéad dá cholún
agus taispeántar an t-aschur sa tríú colún. Mar is féidir a fheiceáil anseo, níl ach cás amháin a
thugann true mar aschur (aibhsithe). Tarlaíonn sin nuair atá an aois idir 13 agus 19, an dá aois
sin san áireamh. I ngach cás eile, tá na haschuir false.
age >=13 age <=19 age >=13 && age <=19
false false false
false true false
true false false
true true true
Léirítear sa cholún aschuir ar dheis an déagóir é an duine nó nach ea
Web Development Skills – Part B - JavaScript 78
POINTE TÁBHACHTACH: Is féidir táblaí fírinne a úsáid mar áis chun sloinn Boole a
mheas. Ach na hionchuir go léir a chur i liosta ar an taobh clé, is féidir linn na táblaí
caighdeánacha le haghaidh NOT, AND, agus OR a úsáid chun na torthaí a lorg
agus iad a thaifeadadh i gcolún na n-aschur.
4. Tóg an tábla fírinne le haghaidh A AND NOT B i.e. A && !B
Réiteach
Sna táblaí fírinne a thaispeántar thíos, baintear úsáid as 1 chun luach true a léiriú agus
baintear úsáid as 0 chun luach false a léiriú
CÉIM 1: Ar dtús, tógaimid tábla fírinne ina bhfuil na meascáin ionchur féideartha go léir.
𝐴 𝐵
0 0
0 1
1 0
1 1
CÉIM 2: Cruthaímid an chéad cholún aschuir le haghaidh NOT B
𝐴 𝐵 ! 𝐵 0 0 1
0 1 0
1 0 1
Web Development Skills – Part B - JavaScript 79
1 1 0
CÉIM 3: Déantar ANDed den cholún NOT B atá díreach cruthaithe ach 𝐴 a úsáid chun an colún
aschuir A AND NOT B atá uainn a chruthú
𝐴 𝐵 ! 𝐵 𝐴&&! 𝐵 0 0 1 0
0 1 0 0
1 0 1 1
1 1 0 0
5. Tó an tábla fírinne le haghaidh NOT A OR B i.e., !A || B
Réiteach
Mar ab amhlaidh sa Sampla roimhe seo, baintear úsáid as 1 chun luach true a léiriú agus
baintear úsáid as 0 chun luach false a léiriú sna táblaí fírinne a thaispeántar thíos.
CÉIM 1: Ar dtús, tógaimid tábla fírinne ina bhfuil na meascáin ionchur féideartha go léir.
𝐴 𝐵
0 0
0 1
1 0
1 1
CÉIM 2: Anois cuirimid an chéad cholún aschuir NOT A leis
𝐴 𝐵 ! 𝐴
0 0 1
0 1 1
1 0 0
1 1 0
CÉIM 3: Déantar OR den cholún NOT A atá díreach cruthaithe le 𝐵 chun an colún aschuir atá
uainn, NOT A OR B, a chruthú
𝐴 𝐵 ! 𝐴 ! 𝐴||𝐵
0 0 1 1
0 1 1 1
Web Development Skills – Part B - JavaScript 80
1 0 0 0
1 1 0 1
Web Development Skills – Part B - JavaScript 81
Loighic Boole
Is brainse den Mhatamaitic í loighic Boole nach bhfuil ach dhá luach inti – true agus false.
Ba é an matamaiticeoir George Boole, 1815-1864, an chéad ollamh Matamaitice i gColáiste na
hOllscoile Corcaigh, a cheap loighic Boole. Tá cáil mar réamhtheachtaí na haoise faisnéise
tagtha ar Boole ar fud an domhain le tamall anuas – ní haon áibhéil a rá gurb í Loighic Boole
bunús na teicneolaíochta leictreonaí digití go léir agus na gcóras bogearraí go léir.
Tá loighic Boole áisiúil mar gheall go soláthraíonn sí déine chun déileáil le ráitis ar a dtugtar
tairiscintí. Is éard atá i dtairiscintí ná dearbhuithe atá true nó false. Seo a leanas samplaí de
dhearbhuithe:
▪ Is corruimhir é a trí
▪ 1 + 1 = 3
▪ Tá sé 14:00 a chlog
▪ Is í Corcaigh an contae is mó in Éirinn
▪ Tá an seilide ag gluaiseacht ar luas níos lú ná 1 mhéadar san uair
▪ Tá an carr ag taisteal ar luas níos mó ná 120 km san uair
▪ Tá an t-eitleán idir 31,000 agus 38,000 troigh ar airde
▪ Tá an oibiacht ar an scáileán (e.g. carachtar i gcluiche, cruth, beochan, sprid, etc.)
Is féidir le daoine dearbhuithe amhail na cinn sa liosta thuas a luacháil gan mórán deacrachta.
Má tá an fhaisnéis atá de dhíth againn, is féidir linn cinneadh a dhéanamh láithreach cibé acu
an bhfuil an dearbhú true nó false. Cé nach dtugaimid faoi deara i gcónaí go bhfuilimid á
dhéanamh, is gnách go ndéanaimid dearbhuithe a luacháil trí chomparáid a dhéanamh idir dhá
luach. Maidir leis an maíomh gur 14:00 uair é an t-am – déanaimid an t-am faoi láthair a chur i
gcomparáid le 14: 00 agus sa chás gur mar an gcéanna iad, tá an dearbhú true; i ngach cás
eile tá sé false.
An chumhacht atá ag loighic Boole ná go dtugann sí creat chun dearbhuithe amhail na cinn sa
liosta thuas a thógáil agus iad a scríobh mar shloinn Boole atáthar in ann a chur san áireamh
inár ríomhchláir (agus ansin iad a luacháil ag na crua-earraí ag am rite). Is iad sloinn Boole an
príomh-mhodh lenar féidir le ríomhchláraitheoirí loighic a chur ina gcóid agus mar sin is cuid
ríthábhachtach de gach ríomhchlár ríomhaire iad. Is scil riachtanach é a bheith ábalta sloinn
Boole a cheapadh. Is cuid lárnach d’ealaíon an ríomhchlárúcháin é.
Web Development Skills – Part B - JavaScript 82
Déan tástáil ar do thuiscint ar oibreoirí loighciúla
Bain triail as an méid seo a leanas.
1. Déan gach ceann de na coinníollacha a thaispeántar sa tábla thíos a luacháil agus aird ar
na hathróga seo a leanas:
𝑥 = 1, 𝑦 = 0 agus 𝑧 = −1. (Beidh na torthaítrue nó false.)
Coinníoll Toradh
!(x==y)
!(x==y+z)
!(y==x+z)
(x>y) && (y>z)
(z<x) && (y<x)
(x<y) || (y>z)
(y!=x+z) || (y>z)
2. Déan gach ceann de na coinníollacha a thaispeántar sa tábla thíos a luacháil agus aird ar
na hathróga seo a leanas:
valid is false and finished is true (Tá na torthaí true nó false.)
Coinníoll Toradh
!finished
!valid
!finished && !valid
!finished || valid
valid || finished
3. Déan na sloinn seo a leanas a luacháil: a) true or not true
b) false and (true or not true)
c) (true or false) and true
d) false or true or not false
Web Development Skills – Part B - JavaScript 83
e) not false and not true or not false
4. Críochnaigh an tábla fírinne thíos chun NOT A AND B a aimsiú thíos
A B !A !A && B
0 0
0 1
1 0
1 1
5. Críochnaigh an tábla fírinne thíos chun A OR NOT B a aimsiú
A B !B A || !B
0 0
0 1
1 0
1 1
6. Críochnaigh an tábla fírinne thíos chun NOT (A AND B) a aimsiú
A B A && B !(A && B)
0 0
0 1
1 0
1 1
7. Críochnaigh an tábla fírinne thíos chun NOT (A OR B) a aimsiú
A B A || B !(A || B)
0 0
0 1
1 0
1 1
Web Development Skills – Part B - JavaScript 84
.
Web Development Skills – Part B - JavaScript 85
Ráitis Roghnaithe (choinníollacha) Scríobhann ríomhchláraitheoirí ráitis roghnaithe – ar a dtugtar ráitis chinntí agus choinníollacha
freisin – chun cosáin mhalartacha rite a chuimsiú ina ríomhchláir.
Léirítear an smaoineamh maidir le roghnú sa léaráid thíos.
Is meicníocht bhrainseála iad ráitis roghnaithe lena roghnaítear bloc áirithe cóid lena rith,
bunaithe ar thoradh cinnidh, agus lena ngabhtar thar bhloic chóid eile. Déantar an cinneadh a
ríomhchlárú mar shlonn Boole de ghnáth.
Tacaíonn JavaScript, mar is amhlaidh le formhór na dteangacha ríomhchlárúcháin, le roghnú trí
ráitis if a chur san áireamh mar chuid dá chomhréir. Sa rannán seo, scrúdóimid comhréir agus
séimeantaic ráiteas if JavaScript agus a athraithigh (i.e. else, agus else-if) chomh maith
leis an ráiteas switch. Breathnóimid freisin ar an aon oibreoir trínártha atá ag JavaScript agus
ar an tslí ar féidir é a úsáid chun roghnú a dhéanamh.
Web Development Skills – Part B - JavaScript 86
An ráiteas if
Mar seo a leanas comhréir ráiteas if JavaScript:
if (condition) {
statement(s)
} // end if
// leanann an ríomhchlár ar aghaidh ón
bpointe seo
Léirítear sa tsreabhléaráid ar dheis am rite ráiteas
if á rith.
An chéad rud a tharlaíonn nuair a ritear ráiteas if
ná go luacháiltear an coinníoll agus go n-aistrítear
an toradh go true nó false.
Más true an coinníoll, rithfear an ráiteas/na ráitis sa ráiteas if. Murach sin, gabhfar tharstu agus
leanfar leis an rith ón gcéad líne eile i ndiaidh an ráitis if
Taispeánann an tsreabhléaráid dhá chonair reatha difriúla – i gcosán amháin ritear an
ráiteas/na ráitis a chomhdhéanann corp an ráitis if, agus sa cheann eile, gabhtar tharstu.
Is é an coinníoll an chuid is tábhachtaí den ráiteas if. Cuimhnigh ó níos luaithe go luacháiltear
na luachanna uile null, undefined, NaN, teaghrán folamh (“”) agus an uimhir nialas mar
false. Luacháiltear gach luach eile mar true.
POINTE TÁBHACHTACH: Ní ritear an ráiteas/na ráitis a chomhdhéanann corp an
ráitis if ach amháin sa chás go luacháiltear an coinníoll mar true.
Web Development Skills – Part B - JavaScript 87
Féachaimis ar roinnt samplaí. (Bain triail astu thú féin!)
Sampla 1
let age = prompt("Enter your age");
if (age >= 18) {
console.log("You are an adult");
}
console.log("Thank you. Goodbye.");
An coinníoll anseo ná age >= 18. Sa chás go n-iontrálann an t-úsáideoir 18 nó luach ar bith
níos mó ná 18, luachálfar an coinníoll mar true agus taispeánfar an teachtaireacht You are an
adult. Sa chás go n-iontrálann an t-úsáideoir luach ar bith atá níos lú ná 18, luachálfar an
coinníoll comhionann mar false agus ní rithfear an cód coinníollach.
POINTE TÁBHACHTACH: Féadfaidh ríomhchlár feidhmiú ar bhealach difriúil gach
uair a ritear iad. Braitheann an t-iompar am rite seo ar na sonraí a chuirtear ar fáil don
chlár agus ar na coinníollacha a dhéanann an ríomhchláraitheoir a ríomhchlárú.
Tá an líne dheireanach chóid sa sampla taobh amuigh den ráiteas if agus dá bharr sin rithfear
í i gcónaí, beag beann ar thoradh an choinníll. I ngach cás, taispeánann an ríomhchlár an
teachtaireacht Thank you. Goodbye.
Mar achoimre, ag brath ar an ionchur, is iad seo a leanas na haschuir fhéideartha:
You are an adult Thank you. Goodbye.
nó díreach Thank you. Goodbye.
Tabhair faoi deara nach dteastaíonn lúibíní slabhracha ach amháin nuair atá níos mó ná líne
amháin chóid i gcorp an choinníll. Go teicniúil, ní theastaíonn siad sa sampla seo mar gheall
nach bhfuil ach líne amháin sa chorp.
Web Development Skills – Part B - JavaScript 88
Web Development Skills – Part B - JavaScript 89
Sampla 2
Sa sampla seo, tugtar leid don úsáideoir an bhliain reatha a iontráil. Más ionann an luach a
iontráladh agus an bhliain atá socraithe ar an ríomhaire, taispeánfaidh an ríomhchlár na
teachtaireachtaí seo a leanas:
You are correct Well done!
let date = new Date();
let computerYear = date.getFullYear();
let userYear = prompt("Enter the current year");
if (userYear == computerYear) {
console.log("You are correct");
console.log("Well done!");
}
console.log("The year is", computerYear);
Arís, ritear an líne dheireanach gan choinníoll. Bain triail as an sampla seo le bliain seachas an
bhliain reatha (e.g. iontráil 2018 go bhfeice tú a tharlóidh)
Tabhair faoi deara go bhfuil lúibíní slabhracha de dhíth sa chás seo mar gheall go bhfuil níos
mó ná ráiteas amháin i gcorp an choinníll sin.
Sampla 3
Sa sampla seo, luacháiltear an coinníoll hourlyPay < minimumWage mar true i gcónaí agus dá
bharr sin cruthóidh an ríomhchlár an t-aschur céanna i gcónaí.
let hourlyPay = 5;
const minimumWage = 10;
if ( hourlyPay < minimumWage ){
console.log("The hourly rate of pay is below the minimum wage.");
}
console.log("Have a nice day!");
Bain triail as!
Cén t-aschur a chruthódh an ríomhchlár thuas dá mbeadh hourlyPay
socraithe ag 15? Céard faoi 10? Mionathraigh an ríomhchlár le go dtugtar
leid don úsáideoir luach don ráta pá san uair a iontráil.
Web Development Skills – Part B - JavaScript 90
Web Development Skills – Part B - JavaScript 91
Cleachtaí Ríomhchlárúcháin
Bain triail as an méid seo a leanas.
1. Scrúdaigh an cód thíos go cúramach agus tuar an t-aschur sa spás atá ar fáil.
let x = 3;
let y = 2;
if (x == y) {
console.log(x, "is equal to", y);
}
if (x != y) {
console.log(x, "is not equal to", y);
}
if (x >= y) {
console.log(x, "is greater than or equal to", y);
}
if (x > y) {
console.log(x, "is greater than", y);
}
if (x <= y) {
console.log(x, "is less than or equal to", y);
}
if (x < y) {
console.log(x, "is less than", y);
}
Cén t-aschur a chruthófá dá mbeadh na luachanna tosaigh x agus y socraithe mar seo a
leanas:
a) x=2 and y=2
b) x=2 and y=3
c) x="Jim" and y="Jam"
2. Scríobh ríomhchlár chun uimhir amháin a ghlacadh agus an focal NEGATIVE a thaispeáint
más lú ná nialas an uimhir
3. Scríobh ríomhchlár chun uimhir amháin a ghlacadh agus an focal BOILING a thaispeáint
más mó ná 100 an uimhir.
4. Céard atá mícheart leis an méid seo a leanas? Tabhair dhá réiteach ar an bhfadhb.
// Tabhair leid don úsáideoir luach idir 0 - 100 a
iontráil
let result = prompt("Enter student result");
if (mark == 100) {
console.log("Full marks - well done");
console.log("Perfect score!");
}
console.log("The result was", result);
Web Development Skills – Part B - JavaScript 92
Web Development Skills – Part B - JavaScript 93
An ráiteas if-else
Baintear úsáid as an gclásal else i gcomhar le ráiteas if i gcónaí. Baintear úsáid as chun cosán
malartach rite a sholáthar i gcásanna ina luacháiltear an coinníoll if mar false.
Mar seo a leanas comhréir ráiteas if-else
JavaScript:
if (condition) {
statement(s)
} // end if
else {
statement(s)
} // end else
// leanann an ríomhchlár ar aghaidh ón
bpointe seo
Léiríonn an tsreabhléaráid an tslí a n-oibríonn an ráiteas if-else.
Déantar an coinníoll a luacháil agus, ag brath ar an toradh, ritear na ráitis laistigh den bhloc if
nó na ráitis laistigh den bhloc else.
⮚ Má luacháiltear an coinníoll mar true, ritear na ráitis laistigh den bhloc if.
⮚ Má luacháiltear an coinníoll mar false, ritear na ráitis laistigh den bhloc else.
POINTE TÁBHACHTACH: Ní rithfear ach sraith amháin ráiteas i gcónaí – an bloc if
nó an bloc else. Ní rithfear an dá shraith riamh!
Chomh luath agus a ritear an bloc cóid roghnaithe, ritear an chéad líne eile i ndiaidh an ráitis if-
else.
Web Development Skills – Part B - JavaScript 94
Web Development Skills – Part B - JavaScript 95
Féachaimis ar roinnt samplaí.
Sampla 1
// ráiteas if-else
let num1 = prompt("Enter a number");
let num2 = prompt("Enter another number");
if ( Number(num1) >= Number(num2) ){
console.log(num1, "is greater than or equal to", num2);
}
else {
console.log(num1, "is less than", num2);
}
console.log("Program execution continues from here");
Maidir le hionchur 5 agus 7, is éard a bheadh san aschur a chruthófaí:
Maidir le hionchur 12 agus 7, is éard a bheadh san aschur a chruthófaí:
Déanann JavaScript an coinníoll, Number(num1) >= Number(num2) a luacháil, agus, ag
brath ar an toradh, ritear an bloc if nó an bloc else (arís – ní ritear an dá cheann riamh)!
Ní cuid den ráiteas if-else í an líne dheireanach agus mar sin ritear i gcónaí í.
Bain triail as!
Cén t-aschur a chruthódh an ríomhchlár thuas sa chás gur mar an gcéanna
an dá uimhir a iontrálfaí? An oibríonn an ríomhchlár le huimhreacha
diúltacha? Céard a tharlódh sa chás gur num1 >= num2a bhí sa choinníoll?
Cuir an t-athrú i gcrích agus bain triail as 12 agus 7 mar ionchuir. An féidir
leat an t-aschur a mhíniú? Mionathraigh an ríomhchlár le go mbainfidh sé
úsáid as < sa choinníoll (seachas >=)
Web Development Skills – Part B - JavaScript 96
Sampla 2
Sa sampla seo, cuirtear an dáta a iontrálann úsáideoir i gcomparáid le dáta inmheánach an
ríomhaire.
let date = new Date();
let computerYear = date.getFullYear();
let userYear = prompt("Enter the current year");
if (userYear != computerYear) {
console.log("Incorrect answer");
console.log("The year is", computerYear);
} else {
console.log("You are correct");
console.log("Well done!");
}
Bain úsáid as an spás thíos chun aon difríochtaí ó thaobh na loighce de idir an sampla seo agus Sampla 2 sa rannán roimhe seo a liostú
Sampla 3
Léiríonn an coinníoll a úsáidtear sa sampla seo – num1 % 2 == 0 – an tslí ar féidir le ríomhchlár
a chinneadh an ré-uimhir nó corruimhir atá in uimhir.
let num1 = prompt("Enter a number");
if ( num1 % 2 == 0 ) {
console.log(num1, "is even");
}
else {
console.log(num1, "is odd");
}
Taispeánann an ríomhchlár toradh na tástála ‘divisibility by 2’.
Cén t-aschur a léireodh an ríomhchlár samplach seo le haghaidh ionchuir a) 10 ____ agus b) 5
_____?
An féidir le slánuimhreacha diúltacha a bheith ina ré-uimhreacha? Céard faoi nialas?
Web Development Skills – Part B - JavaScript 97
Dúshlán!
Mionathraigh an ríomhchlár seo le go léifidh sé an dara huimhir num2 agus
go dtaispeánfaidh sé ansin cibé an bhfuil nó nach bhfuil num1 inroinnte go
cothrom ar num2.
Cleachtaí Ríomhchlárúcháin
Bain triail as an méid seo a leanas.
1. Scrúdaigh an dá chlár thíos go cúramach agus freagair na ceisteanna a leanas:
let mark = prompt("Enter student mark");
if (mark >= 50) {
console.log("Well done - you passed!");
console.log("Some options now are ....");
console.log("1. Get a job");
console.log("2. Do an apprenticeship");
console.log("3. Go to college");
console.log("4. Emigrate");
} else {
console.log("Hard luck - unsuccessful!");
console.log("Some options now are ....");
console.log("1. Get a job");
console.log("2. Repeat");
console.log("3. Social Welfare");
console.log("4. Emigrate");
}
let mark = prompt("Enter student mark");
if (mark <= 50) {
console.log("Hard luck - unsuccessful!");
console.log("Some options now are ....");
console.log("1. Get a job");
console.log("2. Repeat");
console.log("3. Social Welfare");
} else {
console.log("Well done - you passed!");
console.log("Some options now are ....");
console.log("1. Get a job");
console.log("2. Do an apprenticeship");
console.log("3. Go to college");
}
console.log("4. Emigrate");
Clár 1 Clár 2
An bhfuil na cláir coibhéiseach ó thaobh na loighce de? Mínigh aon difríocht.
Cén clár is fearr leat agus cén fáth?
2. Scríobh ríomhchlár a thugann leid don úsáideoir bliain a iontráil agus an focal PAST a
thaispeáint má tá an bhliain roimh an mbliain reatha agus an focal FUTURE a thaispeáint
má tá an bhliain i ndiaidh na bliana reatha.
Web Development Skills – Part B - JavaScript 98
3. Scríobh ríomhchlár a thugann leid don úsáideoir uimhir amháin a iontráil agus an focal
POSITIVE a thaispeáint má tá an uimhir níos mó ná nialas agus an focal NEGATIVE a
thaispeáint má tá an uimhir níos lú ná nialas. Céard a tharlaíonn nuair a iontrálann tú nialas
é féin?
4. Scrúdaigh an ríomhchlár thíos go cúramach agus freagair na ceisteanna ina dhiaidh.
// Gin dhá uimhir randamacha idir 1 agus 10, an dá uimhir sin san áireamh
let n1 = Math.floor(Math.random() * 10) + 1;
let n2 = Math.floor(Math.random() * 10) + 1;
let message = "What is "+n1+" + "+n2;
let userAnswer = prompt(message);
if ( userAnswer == n1+n2 ) {
console.log("Correct - well done!");
} else {
console.log("Sorry - incorrect answer!");
console.log("The right answer is", n1+n2);
}
a) Déan cur síos ar a ndéanann an ríomhchlár.
b) Cén t-athrú a chaithfí a dhéanamh le go rithfí an líne seo a leanas beag beann ar a n-
iontrálfadh an t-úsáideoir? console.log("The right answer is", n1+n2);
c) Tá an slonn uimhríochtúil n1+n2 ann faoi dhó sa ríomhchlár thuas. An ritear an dá
ásc den slonn seo ag am rite i gcónaí? Mínigh.
d) Gan loighic an ríomhchláir a athrú, mol athrú a d’fhágfadh nach dtarlódh an slonn
n1+n2 ach uair amháin sa ríomhchlár.
e) Cuir i gcás gur athraíodh an coinníoll go userAnswer != n1+n2. Cé na hathruithe
eile a bheadh de dhíth ionas nach gcuirfí athrú ar loighic an ríomhchláir?
Web Development Skills – Part B - JavaScript 99
5. Scríobh ríomhchlár a chruthaíonn dhá uimhir randamacha agus iarr ar an úsáideoir toradh
na n-uimhreacha a iontráil. Má tá an ceart ag an úsáideoir ba cheart don ríomhchlár Correct
a thaispeáint. Mura bhfuil, ba cheart don ríomhchlár Incorrect a thaispeáint.
An ráiteas else-if
Soláthraíonn an ráiteas else-if an loighic riachtanach chun freastal ar chásanna ina bhfuil níos
mó ná dhá fhéidearthacht mhalartacha.
Mar seo a leanas comhréir an ráitis if...else-if:
if (condition 1) {
statements(s)
} else if (condition 2) {
statements(s)
...
} else if (condition N) {
statements(s)
} else {
statements(s)
}
Léirítear an tsreabhchairt loighce thíos.
Web Development Skills – Part B - JavaScript 100
Oibríonn an ráiteas else-if trí gach coinníoll a thástáil in ord go dtí go n-aimsíonn sé ceann a
luacháiltear mar true. Ritear an ráiteas gaolmhar nó na ráitis ghaolmhara ansin agus cuirtear
deireadh leis an ráiteas. Sa chás go luacháiltear na coinníollacha go léir mar false, ritear na
ráitis roghnacha else ag an deireadh (más ann dóibh).
Web Development Skills – Part B - JavaScript 101
Féachaimis ar roinnt samplaí.
Sampla 1
Tugann an ríomhchlár seo leid don úsáideoir slánuimhir a iontráil agus, ag brath ar a
comhartha, taispeánfaidh sé ceann de na trí theachtaireacht seo a leanas:
The number is positive The number is negative Neither positive nor negative so the number must be zero!
let number = prompt("Enter any integer:");
if (number > 0) {
console.log("The number is positive");
} else if (number < 0) {
console.log("The number is negative");
} else {
console.log("Neither positive nor negative so the number must be zero!");
}
Déanann an ráiteas else ag an deireadh soláthar don tríú féidearthacht. Tabhair faoi deara go
bhfuil na chéad trí liostáil eile coibhéiseach ó thaobh na loighce de.
let number = prompt("Enter any integer:");
if (number == 0) {
console.log("Neither positive nor negative so the number must be zero!");
} else if (number < 0) {
console.log("The number is negative");
} else {
console.log("The number is positive");
}
let number = prompt("Enter any integer:");
if (number < 0) {
console.log("The number is negative");
} else if (number == 0) {
console.log("Neither positive nor negative so the number must be zero!");
} else {
console.log("The number is positive");
}
let number = prompt("Enter any integer:");
if (number > 0) {
console.log("The number is positive");
} else if (number == 0) {
console.log("Neither positive nor negative so the number must be zero!");
} else {
console.log("The number is negative");
}
Tá fabht i ngach ceann de na trí liostáil – an féidir leat é a aimsiú, a mhíniú agus ansin a
dheisiú?
Web Development Skills – Part B - JavaScript 102
(Leid: gníomhachtaigh an coinníoll number == 0)
Web Development Skills – Part B - JavaScript 103
Sampla 2.
Sa sampla seo, cuireann an ríomhchlár dhá uimhir a iontrálann an t-úsáideoir i gcomparáid
agus ansin taispeánann sé teachtaireacht chuí ina dtugtar an gaol idir na huimhreacha.
let num1 = prompt("Enter a number");
let num2 = prompt("Enter another number");
if ( Number(num1) > Number(num2) ){
console.log(num1, "is greater than", num2);
}
else if ( Number(num1) < Number(num2) ){
console.log(num1, "is less than", num2);
}
else {
console.log(num1, "is equal to", num2);
}
console.log("Program execution continues from here");
Léirítear aschuir éagsúla le haghaidh rití difriúla an ríomhchláir sa tábla thíos.
Ionchuir Aschuir
num1 num2
12 12
32 16
1000 1
Léiríonn gach ró sa tábla rith ríomhchláir ar leith. Ní thionscnaíonn na hionchuir a léirítear ach
dhá cheann de na trí chás shamplacha dá ndéantar soláthar sa chód (ní ritear an bloc ‘ní lú ná’
riamh). Ní ritear ach ceann amháin de na bloic chóid (as na trí cinn) gach uair a ritear an
ríomhchlár.
Bain triail as!
Cén t-aschur a chruthódh an ríomhchlár sa chás gur 1 an luach a
d’iontrálfaí le haghaidh num1 agus gur 1000 an luach a d’iontrálfaí le
haghaidh num2? An oibríonn an ríomhchlár i gcás uimhreacha diúltacha?
Dá n-athrófaí an chéad choinníoll go Number(num1) == Number(num2) cé
na hathruithe eile a chaithfí a dhéanamh? Céard a tharlódh sa chás go
mbainfeá an glao chuig Number den ríomhchlár (tá sé ann ceithre huaire)?
Web Development Skills – Part B - JavaScript 104
POINTE TÁBHACHTACH: Gach uair a ritear ríomhchlár, féadfaidh sé feidhmiú ar
bhealach difriúil ag brath ar na sonraí lena bhfuil sé ag obair le linn an reatha sin.
Sampla 3.
Sa sampla thíos, baintear úsáid as ráitis else-if iolracha chun príomhchathair tíre a
thaispeáint, nuair a iontrálann an t-úsáideoir ainm na tíre.
let country = prompt("Enter a country and I will tell you its capital");
if (country == "Ireland") {
console.log("Dublin");
} else if (country == "Scotland") {
console.log("Edinburgh");
} else if (country == "England") {
console.log("London");
} else if (country == "Wales") {
console.log("Cardiff");
} else if (country == "France") {
console.log("Paris");
}
a) Tá an cód ríomhchláraithe le hoibriú d’Éirinn, Albain, Sasana, an Bhreatain Bheag
agus an Fhrainc. Céard a tharlaíonn má iontrálann tú ainm tír éigin eile?
b) Mionathraigh an ríomhchlár le go dtaispeánfaidh sé ainm ilchríoch na tíre (i.e. an
Eoraip) ar líne ar leith faoin bpríomhchathair. An féidir é sin a dhéanamh ach líne
amháin a chur leis?
c) Anois leathnaigh an ríomhchlár ionas gur féidir leis déileáil le SAM (Washington), an
tSeapáin (Tóiceo) agus an Astráil (Canberra). (Ná déan dearmad tástáil a dhéanamh
i gcás gach tíre nua.) An bhfuil an fhadhb a shainaithin tú i gCuid a) fós ann? An
dtaispeánann an ríomhchlár an t-ainm ilchríche ceart?
d) Leathnaigh an ríomhchlár arís – an uair seo cuir an cód seo a leanas leis ag an
deireadh. Cén difríocht a dhéanann an cód seo? Cén fáth nach bhfuil coinníoll
ceangailte leis an else?
else {
console.log("Unknown country. Sorry.");
Web Development Skills – Part B - JavaScript 105
}
Web Development Skills – Part B - JavaScript 106
Cleachtaí Ríomhchlárúcháin
Bain triail as an méid seo a leanas.
1. Scríobh ríomhchlár a thugann leid don úsáideoir uimhir lae a iontráil agus a thaispeánann
ainm comhfhreagrach an lae de réir na sreabhchairte seo a leanas.
2. Is féidir an dá líne chóid seo a leanas a úsáid chun uimhir an lae den tseachtain a aimsiú
don ríomhaire ar a ritear iad (0 don Domhnach, 1 don Luan, agus mar sin de)
let date = new Date();
let dayNo = date.getDay();
Mionathraigh an réiteach roimhe seo le go n-úsáidfidh an ríomhchlár an dá líne seo seachas
leid a thabhairt don úsáideoir uimhir lae a iontráil.
Web Development Skills – Part B - JavaScript 107
3. Tugann múinteoir Ríomheolaíochta áirithe quizeanna cúig phointe a marcáiltear ar an scála
5-A, 4-B, 3-C, 2-D, 1-F, 0-NG. Scríobh ríomhchlár a ghlacann le scór quiz mar ionchur agus
a thaispeánann an grád comhfhreagrach mar aschur.
Web Development Skills – Part B - JavaScript 108
4. Is éard a bheartaítear go ndéanfaidh an
ríomhchlár thíos ná grád scoláire a
thaispeáint bunaithe ar mharc céatadáin a
iontrálann an t-úsáideoir.
Léiríonn an tábla ar dheis an tslí a ndéantar
gráid a mhapáil de réir marcanna.
Scrúdaigh an cód go cúramach agus freagair
na ceisteanna ina dhiaidh. (Ní phléann an
leagan tosaigh seo ach leis na gráid níos
airde.)
Marc (%) Grád
90 – 100 H1 O1
80 – 89 H2 O2
70 – 79 H3 O3
60 – 69 H4 O4
50 – 59 H5 O5
40 – 49 H6 O6
30 – 39 H7 O7
0 – 29 H8 O8
let mark = Number(prompt("Enter percentage mark (0-100):"));
if (mark >= 0) {
console.log("H8");
} else if (mark >= 30) {
console.log("H7");
} else if (mark >= 40) {
console.log("H6");
} else if (mark >= 50) {
console.log("H5");
} else if (mark >= 60) {
console.log("H4");
} else if (mark >= 70) {
console.log("H3");
} else if (mark >= 80) {
console.log("H2");
} else if (mark >= 90) {
console.log("H1");
}
a) Cén fáth nach ndéanfaidh an ríomhchlár an méid a bheartaítear go ndéanfaidh sé?
b) Tabhair réiteach ar an bhfadhb agus cuir i bhfeidhm é.
c) Mionathraigh an cód (réitithe) ón gceist roimhe seo le go stórálfaidh sé an grád in athróg
(tabhair grade air) agus díreach ráiteas amháin ag an deireadh chun a luach a thaispeáint.
d) Ceap réiteach a dhéanfaidh soláthar do thorthaí gnáthleibhéil chomh maith le torthaí
ardleibhéil agus cuir i bhfeidhm é.
Web Development Skills – Part B - JavaScript 109
Is féidir réiteach féideartha amháin ar an bhfadhb ar an leathanach roimhe seo a bhriseadh síos
ina thrí chéim mar seo a leanas:
1) tabhair leid don úsáideoir ‘H’ nó ‘O’ a iontráil chun ardleibhéal nó gnáthleibhéal a chur in
iúl. Stóráiltear an litir seo in athróg ar a dtugtar gradeLetter.
2) socraigh athróg gradeLevel chuig luach éigin idir 1 agus 8 ag brath ar an mark a
iontrálann an t-úsáideoir
3) Taispeáin an grád i bhfoirm an gradeLetter agus an gradeLevel curtha le chéile.
Seo a leanas an cód:
let gradeLetter = prompt("Enter a letter: H = Higher, O = Ordinary");
let gradeLevel;
let mark = Number(prompt("Enter percentage mark (0-100):"));
if (mark >= 90) {
gradeLevel = 1;
} else if (mark >= 80) {
gradeLevel = 2;
} else if (mark >= 70) {
gradeLevel = 3;
} else if (mark >= 60) {
gradeLevel = 4;
} else if (mark >= 50) {
gradeLevel = 5;
} else if (mark >= 40) {
gradeLevel = 6;
} else if (mark >= 30) {
gradeLevel = 7;
} else if (mark >= 0) {
gradeLevel = 8;
}
console.log("Final Grade: ", gradeLetter + gradeLevel);
Réiteach malartach é ráiteas if neadaithe a úsáidtear, mar a mhíneofar anois.
Ráitis if Neadaithe Is éard atá i ráiteas if neadaithe, mar a thugann an t-ainm le tuiscint, ráiteas if laistigh de
ráiteas if.
Taispeántar comhréir if neadaithe simplí thíos. Tagraítear don chéad ráiteas if mar an outer if
(lasmuigh) agus tagraítear don if neadaithe mar an inner if (laistigh).
if (condition) {
if (condition) {
statement(s)
} // end inner if
Web Development Skills – Part B - JavaScript 110
} // end outer if
Cé nach bhfuil teorainn leis an líon ráiteas if is féidir a neadú, is annamh a fheictear níos mó
ná trí leibhéal neadaithe i gcleachtas. (Ina dhiaidh an phointe seo, d’fhéadfadh sé a bheith níos
deacra cód a leanúint agus bíonn malairt rogha níos soiléire ann, de ghnáth.) Seo a leanas an
chuma a bheadh ar thrí leibhéal neadaithe:
if (condition1) {
if (condition2) {
if (condition3) {
statement(s)
} // end if 3
} // end if 2
} // end if 1
Ní rithfear an coinníoll if laistigh ach amháin má luacháiltear an coinníoll/na coinníollacha if
roimhe seo mar true.
Féadfaidh neadú tarlú laistigh den chlásal else chomh maith – is mar seo a leanas an
chomhréir:
if (condition) {
statement(s)
} // end if
else {
if (condition) {
statement(s)
} // end if
else {
statement(s)
} // end else
} // end else
Web Development Skills – Part B - JavaScript 111
An fhadhb maidir le grád a réiteach ach neadú a úsáid
Taispeánann an ríomhchlár thíos an tslí ar féidir neadú a úsáid chun freastal ar ghráid
Ghnáthleibhéil agus Ardleibhéil araon chun marc céatadáin a mhapáil le grád deiridh.
let gradeLetter = prompt("Enter a letter: H = Higher, O = Ordinary");
let mark = Number(prompt("Enter percentage mark (0-100):"));
let grade;
if (gradeLetter == "H") {
if (mark >= 90) {
grade = "H1";
} else if (mark >= 80) {
grade = "H2";
} else if (mark >= 70) {
grade = "H3";
} else if (mark >= 60) {
grade = "H4";
} else if (mark >= 50) {
grade = "H5";
} else if (mark >= 40) {
grade = "H6";
} else if (mark >= 30) {
grade = "H7";
} else if (mark >= 0) {
grade = "H8";
}
} // end if gradeLetter is "H"
else if (gradeLetter == "O") {
if (mark >= 90) {
grade = "O1";
} else if (mark >= 80) {
grade = "O2";
} else if (mark >= 70) {
grade = "O3";
} else if (mark >= 60) {
grade = "O4";
} else if (mark >= 50) {
grade = "O5";
} else if (mark >= 40) {
grade = "O6";
} else if (mark >= 30) {
grade = "O7";
} else if (mark >= 0) {
grade = "O8";
}
} // end if gradeLetter is "O"
Sa ríomhchlár thuas, úsáidtear an if lasmuigh chun an cód d’ardleibhéal nó do ghnáthleibhéal
a roghnú. Tá an roghnú (i.e. cinneadh) bunaithe ar an gcoinníoll gradeLetter == "H". Sa chás
go luacháiltear sin mar false déanfaidh an ríomhchlár an coinníoll gradeLetter == "O" (a
shonraítear sa chuid else den if lasmuigh) a thástáil.
Bain triail as!
Web Development Skills – Part B - JavaScript 112
Céard a tharlódh sa chás go n-iontrálfadh an t-úsáideoir litir seachas ‘H’ nó
‘O’? Céard a tharlódh sa chás go n-iontrálfadh an t-úsáideoir marc os cionn
100 nó marc diúltach?
Cuirtear an loighic chéanna i bhfeidhm sa chód thíos agus a chuirtear i bhfeidhm sa ríomhchlár
ar an leathanach roimhe seo. Baintear úsáid as neadú sa réiteach seo freisin ach déantar na
ráitis if a neadú in ord beagán difriúil sa chás seo.
// Neadú malartach chun an toradh céanna a bhaint amach
let gradeLetter = prompt("Enter a letter: H = Higher, O = Ordinary");
let mark = Number(prompt("Enter percentage mark (0-100):"));
let grade;
if (mark >= 90) {
if (gradeLetter == "H") {
grade = "H1";
} else if (gradeLetter == "O") {
grade = "O1";
}
} else if (mark >= 80) {
if (gradeLetter == "H") {
grade = "H2";
} else if (gradeLetter == "O") {
grade = "O2";
}
} else if (mark >= 70) {
if (gradeLetter == "H") {
grade = "H3";
} else if (gradeLetter == "O") {
grade = "O3";
}
} else if (mark >= 50) {
if (gradeLetter == "H") {
grade = "H5";
} else if (gradeLetter == "O") {
grade = "O5";
}
} else if (mark >= 40) {
if (gradeLetter == "H") {
grade = "H6";
} else if (gradeLetter == "O") {
grade = "O6";
}
} else if (mark >= 0) {
if (gradeLetter == "H") {
grade = "H8";
} else if (gradeLetter == "O") {
grade = "O8";
}
}
Déan staidéar cúramach ar an gcód thuas. Cinntigh go dtagann na lúibíní tosaigh agus deiridh
le chéile.
Déan an ríomhchlár thuas a mheas. Céard atá in easnamh? An gceapann tú
go bhfuil an cur chuige sa réiteach seo níos fearr ná an ceann ar an
leathanach roimhe seo? Cén fáth? Cén fáth nach bhfuil?
Web Development Skills – Part B - JavaScript 113
Web Development Skills – Part B - JavaScript 114
An t-uasluach as trí uimhir a aimsiú
Cinneann an ríomhchlár thíos an ceann is mó de thrí uimhir a iontrálann an t-úsáideoir.
// uasluach as trí uimhir
let x1 = Number(prompt("Please enter 1st number: "));
let x2 = Number(prompt("Please enter 2nd number: "));
let x3 = Number(prompt("Please enter 3rd number: "));
let max;
if ((x1 >= x2) && (x1 >= x3)) {
max = x1;
} else if ((x2 >= x1) && (x2 >= x3)) {
max = x2;
} else {
max = x3;
}
console.log("The largest number you entered was", max);
Tabhair faoi deara an úsáid a bhaintear as an oibreann loighciúil AND, &&. An straitéis a
úsáidtear sa réiteach seo ná an luach seo a chur i gcomparáid le gach ceann de na luachanna
eile. Seo a leanas an míniú air sin:
▪ Déanann an chéad choinníoll tástáil ar cibé an bhfuil x1 níos mó ná nó cothrom le x2 agus
x3 araon. Sa chás go luacháiltear an tástáil mar true is féidir teacht ar an gconclúid go
gcaithfidh sé go bhfuil x1 ar an gceann is mó de na trí uimhir agus mar sin déanaimid é a
shábháil san athróg max.
▪ Sa chás go dteipeann ar an gcéad tástáil, bogann an ríomhchlár ar aghaidh chuig an dara
coinníoll chun é a thástáil. Iarrann an coinníoll cibé an bhfuil x2 níos mó ná nó cothrom le
x1 agus x3 araon. Más tá, is féidir linn x2 a shábháil san athróg max.
▪ Sa chás go dteipeann ar an dara tástáil, an t-aon fhéidearthacht atá fanta ná gur x3 an
ceann is mó de na trí uimhir agus socraímid max dá réir sin.
Cuir isteach an ríomhchlár thuas agus déan tástáil air. An oibríonn sé?
Céard é an t-íosmhéid tástálacha a bheadh ort a dhéanamh le bheith
cinnte go n-oibríonn sé?
Déan an ríomhchlár a mheas anois. Cá mhéad comparáidí is gá a dhéanamh
– féach ar an gcás is fearr agus ar an gcás is measa. Céard faoi dá mbeimis
ag iarraidh an ceann is mó as ceithre uimhir a aimsiú? Céard faoi cúig cinn?
Web Development Skills – Part B - JavaScript 115
Web Development Skills – Part B - JavaScript 116
Léiríonn na léaráidí sreabhchairte thíos dhá straitéis mhalartacha a d’fhéadfaí a úsáid chun an
fhadhb ‘an ceann is mó as trí cinn’ a réiteach. Cuir an dá réiteach i bhfeidhm agus déan iad a
mheas.
Réiteach A
An straitéis a ghlactar anseo ná crann cinnteoireachta a úsáid (tá neadú i gceist leis an gcur i
bhfeidhm).
Réiteach B
Is straitéis níos líní (seicheamhach) í seo. Ar dtús, sanntar x1 ar max agus ansin cuirtear gach
uimhir i gcomparáid le max. Agus sin á dhéanamh, athraítear luach max chuig uimhir ar bith atá
níos mó.
Web Development Skills – Part B - JavaScript 117
Cuir an dá straitéis a thaispeántar ar an leathanach roimhe seo i
gcóimheas. Cé acu is fearr dar leat agus cén fáth sin? Cén chaoi a
scálaítear gach réiteach?
Machnamh!
Céard a bhí dúshlánach duit? Céard a thug ort tuilleadh machnaimh a
dhéanamh? Cén chaoi a bhféadfaí é seo a úsáid i seomra ranga
Ríomheolaíocht na hArdteistiméireachta?
Web Development Skills – Part B - JavaScript 118
Web Development Skills – Part B - JavaScript 119
An t-oibreoir trínártha Is bealach gearr é an t-oibreoir trínártha leis an ráiteas Ráiteasif-else a scríobh. Cuirtear
san áireamh anseo ar é mhaith le críochnúlacht.
An phríomh-úsáid a bhaintear as an oibreoir trínártha ná luach a shannadh d’athróg bunaithe ar
aschur coinníll shimplí éigin. Cuir i gcás gur mhian linn an ceann is mó as dhá uimhir a
chinneadh agus an toradh a stóráil in athróg ar a dtabharfaí max. D’fhéadfaimis an méid seo a
leanas a scríobh:
if (n1 > n2) {
max = n1;
} else {
max = n2
}
Is féidir an loighic chéanna a bhaint amach leis an oibreoir trínártha mar seo a leanas.
let max = (n1 > n2) ? n1 : n2;
Tá trí chuid ag an oibreoir (is é sin an fáth a dtugtar trínártha air) – iad idirdhealaithe ag
comhartha ceiste agus idirstad. Mar seo a leanas comhréir an oibreora trínártha:
condition ? expression1 : expression2
Déantar an coinníoll a mheas ar dtús. Más true an toradh, déantar an chéad slonn a mheas
agus a thabhairt. Murab ea, luacháiltear an coinníoll mar false, agus déantar an dara slonn a
mheas agus a thabhairt.
Sa sampla thíos, sanntar true d’athróg ar a dtugtar isEven sa chás gur ré-uimhir í slánuimhir
a dhéanann ionadaíocht ar num; murab ea, sanntar false mar luach ar isEven.
let isEven = (num % 2 == 0) ? true : false;
Web Development Skills – Part B - JavaScript 120
An Ráiteas switch
Is éard atá i ráiteas switch bealach eile chun cód a roghnú. Tá corp ráiteas switch
comhdhéanta de roinnt clásail case ar leith. Tá gach clásal case comhdhéanta de luach agus
bloc cóid a bhaineann leis.
Oibríonn an ráiteas trí shlonn a thástáil (e.g. luach litriúil nó athróg) le haghaidh comhionannais
in aghaidh gach luach case. Sa chás go bhfaightear meaitseáil, roghnaítear na ráitis a
chomhdhéanann an bloc cóid comhfhreagrach lena rith.
Taispeántar comhréir an ráitis switch ar an taobh clé thíos agus mínítear an tséimeantaic ar
an taobh deis.
switch(expression) {
case value1:
statement(s)
break;
case value2:
statement(s)
break;
...
default:
statement(s)
} // end switch
Nótaí:
1) Cuirtear toradh an tsloinn i gcomparáid le luach case agus úsáid á baint as an dian-oibreoir
comhionannais (===). Ní mór go meaitseálfadh na luachanna gan aon chomhshó cineáil,
mar sin.
2) Nuair atá an luach a bhfuil ‘switch on’ á dhéanamh air cothrom le case, rithfear na ráitis a
thagann i ndiaidh an case sin go dtí go sroichfear ráiteas break.
Web Development Skills – Part B - JavaScript 121
3) Nuair a shroichtear ráiteas break, tagann deireadh leis an switch agus léimeann an
sreabhadh rialúcháin chuig an chéad líne eile i ndiaidh an ráitis switch.
4) Féadfar líon ar bith ráiteas case a bheith in switch. Tagann an luach atá le cur i
gcomparáid, agus idirstad, i ndiaidh gach case.
5) Ní gá go mbeadh break i ngach case. Mura bhfuil break ann, titfidh an sreabhadh
rialúcháin ar aghaidh chuig cásanna ina dhiaidh go dtí go sroichfear break. (Meastar go
forleathan gur dea-chleachtas ríomhchlárúcháin é ráiteas break a chur ag deireadh gach
tacair ráiteas cásanna.)
6) Féadfaidh cás roghnach default a bheith ag ráiteas switch, nach mór a bheith le feiceáil
ag deireadh an switch. Is féidir an cás default a úsáid chun tasc a chur i gcrích nuair
nach luacháiltear ceann ar bith de na meaitseálacha mar true. Ós rud é go bhfágtar
default ag deireadh an ráitis switch de ghnáth, ní gá ráiteas break a áireamh ann, de
ghnáth. (Níl aon dochar ann, áfach, ráiteas break a áireamh laistigh den default.)
POINTE TÁBHACHTACH: Is éard atá i ráiteas switch ná malairt rogha ar an
gcomhstruchtúr ilbhealaí else-if a ndearnadh cur síos air níos luaithe sa chuid
seo agus úsáidtear é nuair a bhíonn níos mó ná ceithre ná cúig cinn de bhrainsí
else-if ann.
Tá an dá ríomhchlár seo a leanas coibhéiseach ó thaobh na loighce de. Baineann an
ríomhchlár ar chlé úsáid as ráitis else-if arís agus arís eile agus baineann an ríomhchlár ar
dheis úsáid as ráiteas switch chun an rud céanna a dhéanamh (i.e. an focal le haghaidh
slánuimhir ar bith idir 1-4 a thaispeáint.)
let x = prompt("Enter a number from 1-4")
if (x == 1) {
console.log("One");
} else if (x == 2) {
console.log("Two");
} else if (x == 3) {
console.log("Three");
} else if (x == 4) {
console.log("Four");
let x = prompt("Enter a number from 1-4")
switch (x) {
cás 1:
console.log("One");
break;
cás 2:
console.log("Two");
break;
cás 3:
console.log("Three");
break;
cás 4:
Web Development Skills – Part B - JavaScript 122
} else {
console.log("Sorry. Unknown value.");
}
console.log("Four");
break;
default:
console.log("Sorry. Unknown value.");
break;
}
Dúshlán ríomhchlárúcháin!
Cuir an ríomhchlár seo a leanas i bhfeidhm ionas go mbainfidh sé úsáid as
ráiteas switch
let country = prompt("Enter a country and I will tell you its capital");
if (country == "Ireland") {
console.log("Dublin");
} else if (country == "Scotland") {
console.log("Edinburgh");
} else if (country == "England") {
console.log("London");
} else if (country == "Wales") {
console.log("Cardiff");
} else if (country = "France") {
console.log("Paris");
}
Bain triail as!
Cuir isteach an cód seo a leanas agus iontráil roinnt luachanna. Bain triail
as a oibriú amach céard a dhéanann an cód. Déan cur síos ar céard a
dhéanann sé go sonrach agus ar an tslí a ndéanann sé é. An bhfuil tú in ann
aon fhabhtanna a aimsiú agus má tá, an bhfuil tú in ann aon réitigh a
mholadh?
let num = prompt("Enter a number");
let rem = num % 10;
let suffix;
switch (rem) {
cás 1:
suffix = "st";
break;
cás 2:
suffix = "nd";
break;
cás 3:
suffix = "rd";
break;
default:
suffix = "th";
} // end switch
console.log("Output:", num+suffix);
Web Development Skills – Part B - JavaScript 123
Cleachtaí ríomhchlárúcháin – Ráitis Roghnaithe
1. Scríobh ríomhchlár a thugann leid don úsáideoir uimhir mhíosa a iontráil agus a
thaispeánann an líon laethanta sa mhí sin agus ainm na míosa á úsáid sa teachtaireacht
aschuir. (Glac leis go bhfuil 28 lá i mí Feabhra.) Mar shampla, sa chás go n-iontrálann an t-
úsáideoir 3, ba cheart don ríomhchlár an teachtaireacht seo a thaispeáint – March has 31
days.
2. Scríobh ríomhchlár a thugann leid don úsáideoir dhá shlánuimhir ar leith a iontráil – uimhir
don lá agus uimhir don mhí. Ba cheart don ríomhchlár an teachtaireacht Valid dd/mm
combination a aschur más teaglaim bhailí é agus invalid dd/mm combination murab ea. Is
samplaí de theaglamaí neamhbhailí iad 32, 1 (níl ach 31 lá i mí Eanáir) agus 5, 13 (níl ach
12 mhí ann).
3. Scríobh ríomhchlár a thugann leid don úsáideoir bliain a iontráil agus a thaispeánann cibé
an bliain bhisigh atá (nó a bheidh) sa bhliain sin. Tugtar mar shainmhíniú ar bhliain bhisigh
bliain atá inroinnte ar 4 ach amháin sa chás go bhfuil sí inroinnte go beacht ar 100 freisin.
Níl blianta atá inroinnte go beacht ar 4 agus ar 100 araon ina mblianta bisigh ach amháin sa
chás go bhfuil siad inroinnte ar 400 freisin. Mar sin,
✔ Is blianta bisigh iad 1992, 2020 agus 2104 mar gheall go bhfuil siad inroinnte ar 4 (agus ní ar
100).
✔ Ní blianta bisigh iad 1800, 1900 agus 2200 mar gheall go bhfuil siad inroinnte go beacht ar 4 ach
níl siad inroinnte ar 400.
✔ Is blianta bisigh iad 1600, 2000 agus 2400 mar gheall go bhfuil siad inroinnte go beacht ar 4 agus
ar 100 agus ar 400.
Web Development Skills – Part B - JavaScript 124
Is iomaí réiteach códúcháin atá ann lena chinneadh cibé an bliain bhisigh atá i mbliain éigin
nó nach ea. Tugtar an súdachód ar réiteach amháin anseo. Bain triail as é a chur i
bhfeidhm.
if (year is not divisible by 4) 🡪 (Not Leap)
else if (year is not divisible by 100) 🡪 (Leap Year)
else if (year is not divisible by 400) 🡪 (Not Leap)
else (Leap Year)
Is iomaí bealach atá ann an loighic chéanna a chur in iúl – bain triail as ceann duit féin a
cheapadh!
Déan machnamh ar na cleachtaí go léir sa rannán seo.
Tabhair le fios cén chaoi a bhféadfaí ceann ar bith de na cleachtaí seo a
oiriúnú le húsáid i rang Ríomheolaíocht na hArdteistiméireachta de do chuid
féin?
Web Development Skills – Part B - JavaScript 125
Web Development Skills – Part B - JavaScript 126
Ráitis Atrialla (lúba) Is minic a thagraítear do ráitis atrialla mar lúba. Cuireann siad ar chumas ríomhchláraitheoirí
cód a scríobh a rithfear arís agus arís eile ag am rite.
Taispeántar an smaoineamh maidir le hatriall thíos – léiríonn an líne ghlas cosán rite na lúibe.
Tá dhá phríomh-chomhpháirt i lúb – garda lúibe agus corp lúibe.
- Is coinníoll é garda lúibe a úsáidtear lena chinneadh cibé ar cheart nó nár cheart an corp
lúibe a rith. Sa chás go luacháiltear an garda lúibe mar true, ritear an corp lúibe; mura
luacháiltear, ní ritear é.
- Is éard atá i gcorp lúibe ná bloc cóid a ritear arís agus arís eile. Gach uair a ritear corp lúibe,
tugtar atriall air sin. Déantar an garda lúibe a atástáil ag deireadh gach atrialla agus ritear an
corp lúibe fad is gurb é true toradh na tástála seo. Nuair a luacháiltear an coinníoll garda
Web Development Skills – Part B - JavaScript 127
lúibe mar false, deirtear go dtagann deireadh leis an lúb agus leantar leis an bpróiseáil ag
an gcéad líne eile i ndiaidh an choirp lúibe.
Tá lúba áisiúil mar ní bhíonn ar ríomhchláraitheoirí go leor línte cóid a chóipeáil agus a ghreamú
ina ríomhchláir. Cuir i gcás, mar shampla, gur mian le ríomhchláraitheoir an teaghrán Hello
World a thaispeáint 100 uair ar an gconsól aschuir. Gan lúba, bheadh orthu 100 líne chóid a
scríobh – líne in aghaidh gach líne aschuir – mar seo a leanas
console.log("Hello World"); // 1ú uair
console.log("Hello World"); // 2ú huair
console.log("Hello World"); // 3ú huair
console.log("Hello World"); // 4ú huair
...
console.log("Hello World"); // 56ú huair. (Méanfach!)
console.log("Hello World"); // 57ú huair. (Méanfach! Zzz!)
...
console.log("Hello World"); // 99ú huair. (zzzZZ!)
console.log("Hello World"); // 100ú huair (Faoi
dheireadh!)
Hello World
Hello World
Hello World
Hello World
...
Hello World
Hello World
...
Hello World
Hello World
Ríomhchlár 100 líne chun an teaghrán Hello World a thaispeáint 100 uair Aschur an Ríomhchláir
POINTE TÁBHACHTACH: Is éard atá i lúb ná comhstruchtúr ríomhchlárúcháin
a thugann deis an bloc céanna cóid a rith cúpla uair.
Is léir an t-athrá sa chód thuas. Léirítear sa léaráid thíos an tslí a bhféadfadh lúba leas a bhaint
as nádúr athráiteach an chóid seo.
Web Development Skills – Part B - JavaScript 128
Tacaíonn JavaScript le roinnt cineálacha éagsúla lúba – while, do-while agus for.
Breathnaímis ar chomhréir agus ar shéimeantaic gach ceann ar a sheal.
An lúb while
Mar seo a leanas comhréir na lúibe while:
while (condition) {
statement(s)
}
Sa chód thíos, léirítear an úsáid a mbaintear as lúb while chun Hello World a thaispeáint 100
uair.
let counter = 0;
while (counter < 100) {
console.log("Hello World");
counter++; // Cuir 1 leis an áiritheoir – sroichfear 100 ar deireadh
}
Sin é – díreach cúig líne (seachas 100) – simplí!
Web Development Skills – Part B - JavaScript 129
Is féidir séimeantaic na lúibe while a mhíniú ach an
tsreabhchairt ar dheis a úsáid.
Is é an pointe tábhachtach ná go ritear na ráitis
coirp lúibe gach uair a luacháiltear coinníoll an
garda lúibe go true.
Sa sampla Hello World, is é counter < 100 an
garda lúibe. Ritear an dá ráiteas laistigh den chorp
lúibe arís agus arís eile fad is go bhfuil an t-
áiritheoir níos lú ná 100. Tabhair ar aird go gcuirtear
incrimint ag deireadh gach atrialla, rud a chinntíonn
go gcuirfear deireadh leis an lúb ar deireadh.
Web Development Skills – Part B - JavaScript 130
Féachaimis ar roinnt samplaí.
Sampla 1 (táblaí)
Sa sampla seo, forbróimid ríomhchlár chun tábla iolrúcháin 7 (suas go 12) a thaispeáint.
Smaoinigh air – ní mór dúinn na línte ar fad a thaispeáint ó 7 × 1 = 7
go dtí 7 × 12 = 84. Taispeántar an t-aschur inmhianaithe ar dheis.
Tá an chéad slánuimhir mar an gcéanna i ngach ceann de na línte
aschuir seo, i.e. 7. Tagann athrú ar an dara slánuimhir, i.e. athraíonn
sí ó 1 go 12. D’fhéadfadh sí sin feidhmiú mar an t-áiritheoir lúibe –
tugaimis counter uirthi.
Ríomhtar an luach ar thaobh na láimhe deise den chomhartha
cothroime trí 7 a iolrú faoi counter.
Gintear gach líne aschuir ag an ráiteas:
console.log("7 x", counter, "=", 7*counter);
Tugtar an ríomhchlár iomlán chun tábla iolrúcháin 7 a thaispeáint anois:
let counter = 0;
while (counter <= 12) {
console.log("7 x", counter, "=", 7*counter);
counter++; // Cuir 1 leis an áiritheoir
Leasú beag atá sa ríomhchlár a thaispeántar thíos – iarrann sé ar an úsáideoir céard iad na
táblaí iolrúcháin is mian leo a bheith ar taispeáint.
let counter = 0;
let tables = prompt("What times tables do you require?");
while (counter <= 12) {
console.log(tables, "x", counter, "=", tables*counter);
counter++; // Áiritheoir incrimintí
}
Web Development Skills – Part B - JavaScript 131
Cuir isteach é agus bain triail as thú féin!
Sampla 2 (meán an ranga)
Cuir i gcás gur mian linn ríomhchlár a scríobh a thugann leid don úsáideoir cúig shlánuimhir a
iontráil agus ansin meán uimhríochtúil a thaispeáint.
D’fhéadfaí réiteach amháin a bhaint amach mar seo a leanas.
let x1 = Number(prompt("Enter integer value 1"));
let x2 = Number(prompt("Enter integer value 2"));
let x3 = Number(prompt("Enter integer value 3"));
let x4 = Number(prompt("Enter integer value 4"));
let x5 = Number(prompt("Enter integer value 5"));
let total = x1+x2+x3+x4+x5;
console.log("Mean value:", total/5);
Tá cuma athráiteach agus foclach air sin – is comhartha é sin gur réiteach níos fearr a bheadh i
lúb.
Céard faoi dá n-iarrfaí orainn an meánmhéid as 50 slánuimhir a ríomh, seachas cúig cinn?
Fiosraímis réiteach ar an bhfadhb sin a úsáideann lúb while.
Beidh ar an réiteach lúibe iomlán reatha a choimeád maidir leis na luachanna go léir a
iontráiltear. Chomh luath agus a iontráiltear an luach deiridh, is féidir an meán a ríomh, tríd an
iomlán a roinnt ar a cúig. Úsáidimid súdachód mar chéim thosaigh agus an réiteach á fhorbairt.
Túsaigh an t-iomlán go nialas
Túsaigh áiritheoir go 0
Déan lúb 50 uair (fad is atá an t-áiritheoir níos lú ná 50)
Tabhair leid don úsáideoir luach slánuimhreach a iontráil
Nuashonraigh an t-iomlán leis an luach atá díreach iontráilte (total+=value)
Taispeáin an t-iomlán roinnte ar 50
Dúshlán!
An féidir leat an súdachód thuas a aistriú chuig ríomhchlár JavaScript?
Web Development Skills – Part B - JavaScript 132
POINTE TÁBHACHTACH: Nuair is eol an líon atriallta sula ritear ríomhchlár is
féidir athróg áiritheora a úsáid sa gharda lúibe. Tugtar athdhéanamh faoi rialú
áiritheora air sin.
Sampla 3 (fairtheoirí)
Sa dá shampla roimhe seo, d’úsáideamar áiritheoir chun an líon athdhéanta lúibe a rialú.
Bhíomar in ann sin a dhéanamh mar gheall gurbh eol dúinn an líon uaireanta a rabhamar ag
iarraidh an corp lúibe a rith sular ritheadh an ríomhchlár. Mar sin féin, is iomaí cásanna nach eol
don ríomhchláraitheoir an líon atriallta atá de dhíth roimh ré. Cuir i gcás, mar shampla, an
fhadhb a bhaineann le líon uimhreacha nach bhfuil ar eolas againn a chur leis.
An dúshlán a bhaineann leis sin ná garda lúibe a fhorbairt a cheadóidh don ríomhchlár an lúb a
rith líon athraitheach uaireanta.
Túsaigh an t-iomlán reatha go nialas
Tabhair leid don úsáideoir an chéad uimhir a iontráil
Déan lúb fad is go bhfuil níos mó uimhreacha le cur leis.
Cuir an uimhir atá díreach iontráilte leis an iomlán reatha
Tabhair leid don úsáideoir uimhir eile a iontráil
Cuir an t-iomlán ar taispeáint
Céard go díreach a chiallaíonn ‘fad is go bhfuil níos mó uimhreacha le cur leis’? Chun an cheist
sin a fhreagairt caithfimid fairtheoirí a thuiscint.
POINTE TÁBHACHTACH: Is éard atá i bhfairtheoir luach a úsáidtear i ngarda
lúibe nuair nach eol an líon atriallta sula ritear an ríomhchlár. Cinneann an
ríomhchláraitheoir an luach fairtheora agus úsáidtear é chun an coinníoll a
chuirfidh deireadh le lúb a chruthú.
Is éard atá sa chód thíos ná an súdachód thuas á chur chun feidhme ag JavaScript. Is é an
fairtheoir an coinníoll number != 0 rud a chiallaíonn go ritear an lúb fad is nach bhfuil an luach
uimhriúil cothrom le nialas. Is féidir líon uimhreacha nach bhfuil ar eolas a iontráil.
let runningTotal = 0;
let number = Number(prompt("Enter a number (0 to end):"));
while (number != 0) {
runningTotal += number;
Web Development Skills – Part B - JavaScript 133
number = Number(prompt("Enter a number (0 to end):"));
}
console.log("Total:", runningTotal);
An t-aon bhealach le deireadh a chur leis an lúb ná go n-iontrálfadh an t-úsáideoir luach nialais
don number. An toradh a bheadh air sin ná go luachálfaí an coinníoll number != 0 mar
false, rud a chuirfeadh deireadh leis an lúb.
Áiritheoirí lúibe agus fairtheoirí
Ní rud neamhchoitianta é áiritheoirí a úsáid i lúba faoi rialú fairtheoirí. An príomhchuspóir le
háiritheoirí mar sin ná taifead a choinneáil ar an líon atriallta a rinneadh.
Mar shampla, dá mbeimis ag iarraidh meán líon luachanna nach bhfuil ar eolas againn a ríomh
– gach ceann iontráilte ag an úsáideoir – bheadh orainn roinnt ar an áiritheoir chomh luath agus
a bheadh na luachanna go léir curtha leis. Léirítear é sin sa ríomhchlár thíos.
let counter = 0;
let runningTotal = 0;
let number = prompt("Enter a number ('stop' to end):");
while (number != 'stop') {
counter++; // Áiritheoir incrimintí
number = Number(number)
runningTotal += number;
number = prompt("Enter a number ('stop' to end):");
}
if (counter == 0) // seachain roinnt ar nialas
console.log("No mean value as there were no values entered");
else
console.log("Mean value:", runningTotal/counter);
Tabhair faoi deara an úsáid a bhaintear as ‘stop’ mar luach fairtheora, i.e. leanann an lúb ar
aghaidh go dtí go n-iontrálann an t-úsáideoir ‘stop’.
Sa chód thuas, túsaítear an athróg counter go nialas agus ansin cuirtear incrimint leis i ngach
atriall den lúb. Go bunúsach, tá an counter á úsáid chun an líon luachanna slánuimhreach a
iontrálann an t-úsáideoir a thaifeadadh. Nuair a thagann deireadh leis an lúb ar deireadh,
d’fhéadfadh luach slánuimhreach ar bith os cionn nialais nó cothrom leis a bheith i luach an
counter. Maidir le gach slánuimhir dhearfach, ríomhtar an meánluach mar
runningTotal/counter agus taispeántar é. Más nialas an counter, faigheann an t-
úsáideoir teachtaireacht a deir o mean value as there were no values entered.
Web Development Skills – Part B - JavaScript 134
Is féidir an patrún ginearálta do lúb fairtheora a chur in iúl i súdachód mar seo a leanas:
tabhair leid don úsáideoir an chéad luach a iontráil
chomh fada is nach ionann an luach agus an fairtheoir:
déan an luach a phróiseáil
tabhair leid don úsáideoir an chéad luach eile a iontráil
Cleachtaí Ríomhchlárúcháin (fairtheoirí a roghnú)
Aistrigh an súdachód a thugtar sna ceisteanna thíos go JavaScript. An
príomhdhúshlán i ngach ceist ná fairtheoir iontaofa a roghnú.
1. Is é cuspóir an ríomhchláir seo ná toradh liosta athraitheach uimhreacha dearfacha a
d’iontráil úsáideoir a ríomh agus a thaispeáint.
Túsaigh an toradh go dtína haon
Tabhair leid don úsáideoir an chéad uimhir a iontráil
chomh fada agus nach bhfuil an uimhir cothrom le luach an fhairtheora
déan an toradh a ríomh (i.e. product=product*number)
tabhair leid don úsáideoir an chéad uimhir eile a iontráil
Taispeáin toradh iomlán na n-uimhreacha go léir a iontráladh
2. Léann an ríomhchlár seo slánuimhir dhearfach ón úsáideoir arís agus arís eile agus
taispeánann a fréamh chearnach.
tabhair leid don úsáideoir an uimhir dhearfach a iontráil
chomh fada is nach ionann an uimhir agus an fairtheoir
root = Math.sqrt(number);
taispeáin an fhréamh
tabhair leid don úsáideoir uimhir dhearfach eile a iontráil
3. Roghnaíonn an ríomhchlár seo uimhir randamach idir 1 agus 10 agus leanann air ag
iarraidh ar an úsáideoir tomhas a iontráil go dtí go dtomhaistear an uimhir cheart.
gin uimhir randamach idir 1 agus 10
léigh an chéad tomhas ón úsáideoir
chomh fada agus nach ionann an uimhir randamach agus an tomhas:
léigh an chéad tomhas eile
Tabhair le fios cén chaoi a bhféadfaí an ríomhchlár a leasú chun:
a) trí thomhas ar a mhéad a cheadú
b) deireadh a chur leis nuair a iontrálann an t-úsáideoir an focal ‘stop’
Web Development Skills – Part B - JavaScript 135
Sampla 3 (sonraí a bhailíochtú)
Úsáid choitianta amháin is féidir a bhaint as lúba agus fairtheoirí ná dáta a bhailíochtú, i.e. a
chinntiú go bhfuil an dáta a d’iontráil úsáideoir bailí. (Ní mór an chiall bheacht atá le baint as
bailí a shainmhíniú mar chuid den ríomhchlár a cheapadh. Mar shampla, dá mbeifeá ag iontráil
aois duine sa chóras, céard a bheadh sna luachanna bailí? Céard faoi sheoladh ríomhphoist?
Leasainm Twitter?)
An patrún ginearálta ná leanúint de leideanna a thabhairt don úsáideoir an luach i gceist a
iontráil go dtí go mbeidh sé bailí. Taispeántar an patrún sa súdachód seo a leanas. Cinntíonn
an lúb go mbeidh luach bailí le próiseáil ag an ríomhchlár faoin am a sroichfear an líne
dheireanach.
tabhair leid don úsáideoir luach a iontráil
chomh fada agus nach bhfuil an luach bailí
[display error message] // roghnach
tabhair leid don úsáideoir luach a iontráil
déan an luach a phróiseáil
Taispeánann an sampla thíos an tslí le freagra den chineál yes/no a bhailíochtú. Dhearbhaigh
an lúb go mbeidh Y nó N iontráilte ag an úsáideoir faoin am a thagann deireadh leis an
ríomhchlár. Bíonn gach luach eile ‘gafa’ ag an lúb.
// Bailíochtaigh freagra yes/no
let response = prompt("Do you wish to continue (Y/N)");
while (response != "Y" && response != "N") {
response = prompt("Do you wish to continue (Y/N)");
}
Web Development Skills – Part B - JavaScript 136
// freagra bailí
console.log("Thank you. You entered a valid response ... ");
Sa chéad sampla eile seo coinnítear an lúb ar bun go dtí go n-iontrálann an t-úsáideoir
slánuimhir idir 1 agus 12, an dá uimhir sin san áireamh. D’fhéadfaí é a úsáid chun uimhir míosa
a bhailíochtú.
// Bailíochtaigh uimhir míosa
let month = Number(prompt("Enter a month number (1-12)"));
while (isNaN(month) || (month < 1 || month > 12)) {
month = Number(prompt("Enter a month number (1-12)"));
}
console.log("Thank you. You entered a valid month number ... ");
An lúb do-while
Tá lúb do-while cosúil le lúb while, ach amháin gur cinnte go rithfear lúb do-while uair
amháin ar a laghad.
Mar seo a leanas comhréir lúb do-while:
do {
statement(s)
} while(condition);
Moltar lúibíní slabhracha a úsáid cé nach dteastaíonn siad, go teicniúil, ach amháin sa chás go
bhfuil níos mó ná ráiteas amháin i gcorp na lúibe. Tabhair faoi deara go dtagann an lúibín
slabhrach tosaigh díreach i ndiaidh an eochairfhocail do agus go dtagann an lúibín slabhrach
deiridh díreach roimh an eochairfhocal while.
Léirítear an chomhréir thuas sa tsreabhléaráid thíos.
Web Development Skills – Part B - JavaScript 137
Tabhair faoi deara go dtagann an coinníoll
garda lúibe ag deireadh an choirp lúibe, lena
chinntiú go rithfear an ráiteas/na ráitis sa chorp
lúibe uair amháin sula mbainfear an coinníoll
amach.
Sa chás go luacháiltear an garda lúibe mar
true, léimeann an sreabhadh rialúcháin siar
go dtí an chéad ráiteas sa chorp lúibe, le
haghaidh atriall eile. Athdhéantar an próiseas
sin go dtí go luacháiltear an garda lúibe mar
false.
Is faoin ríomhchláraitheora féin an rogha idir while agus do-while a úsáid. Is féidir loighic an
do-while a bhaint amach i gcónaí le lúb while ach níl a mhalairt fíor i gcónaí. Ar an gcúis sin,
meastar go bhfuil an comhstruchtúr while níos solúbtha agus is dócha go n-úsáidtear é níos
minice ná an do-while.
An ghné uathúil dhíolacháin atá ag an do-while ná gur féidir a ráthú go rithfear ráitis i gcorp
lúibe uair amháin ar a laghad. Baintear leas as sin sa sampla thíos ina mbailíochtaítear freagra
yes/no a iontrálann an t-úsáideoir. Leantar leis an lúb fad is nach Y ná N an freagra.
// Bailíochtaigh freagra yes/no (leagan do-while)
let response;
do {
response = prompt("Do you wish to continue (Y/N)");
} while (response != "Y" && response != "N");
// freagra bailí
console.log("Thank you. You entered a valid response ... ");
Dúshlán!
Mionathraigh an dá liostáil chóid thíos le go n-úsáidfidh siad do-while
seachas while
// Bailíochtaigh uimhir míosa
let month = Number(prompt("Enter a month number (1-12)"));
while (isNaN(month) || (month < 1 || month > 12)) {
month = Number(prompt("Enter a month number (1-12)"));
}
Web Development Skills – Part B - JavaScript 138
console.log("Thank you. You entered a valid month number ... ");
let runningTotal = 0;
let number = Number(prompt("Enter a number (0 to end):"));
while (number != 0) {
runningTotal += number;
number = Number(prompt("Enter a number (0 to end):"));
}
console.log("Total:", runningTotal);
Machnamh!
Céard é do rogha – do-while nó while?
Cleachtaí Ríomhchlárúcháin (lúba while)
1. Léigh gach ceann de na bloghanna cóid seo a leanas go cúramach agus déan an t-aschur a
ghinfeadh gach ceann de na lúba while ina bhfuil. I ngach cás, ba cheart duit an cód a chur
isteach agus a rith chun an méid a thuar tú a chur i gcomparáid leis an aschur iarbhír.
Lúb 1 Aschur Tuartha Aschur Iarbhír
let count = 1;
while (count <= 5) {
console.log(count);
count++;
}
Lúb 2 Aschur Tuartha Aschur Iarbhír
Web Development Skills – Part B - JavaScript 139
let count = 1;
while (count <= 5) {
count++;
console.log(count);
}
Lúb 3 Aschur Tuartha Aschur Iarbhír
let count = 1;
while (count > 5) {
console.log(count);
count++;
}
Lúb 4 Aschur Tuartha Aschur Iarbhír
let count = 0;
while (count < 10) {
console.log(count);
count += 2;
}
Lúb 5 Aschur Tuartha Aschur Iarbhír
let count = 5;
while (count > 0) {
console.log(count);
count--;
}
Lúb 6 Aschur Tuartha Aschur Iarbhír
let count = 5;
while (count > 0) {
count--;
console.log(count);
}
Web Development Skills – Part B - JavaScript 140
Lúb 7 Aschur Tuartha Aschur Iarbhír
let count = 5;
while (count >= 0) {
console.log(count);
count--;
}
Lúb 8 Aschur Tuartha Aschur Iarbhír
let count = 1;
while (count++ <= 5) {
console.log(count);
}
Lúb 9 Aschur Tuartha Aschur Iarbhír
let count = 1;
while (++count <= 5) {
console.log(count);
}
2. Scríobh ríomhchlár a thugann leid don úsáideoir dhá shlánuimhir a iontráil agus a
thaispeánann na slánuimhreacha go léir ansin, ón tslánuimhir is ísle go dtí an ceann níos
airde agus an ceann sin san áireamh. Mar sin, sa chás go n-iontrálfadh an t-úsáideoir 3
agus 7 mar shampla, is éard a bheadh san aschur a ghinfí ná 3 4 5 6 7 (agus gach
slánuimhir á taispeáint ar líne ar leith).
3. Scríobh ríomhchláir a ghineann an t-aschur a léirítear thíos:
a) An tábla suimithe le haghaidh 4
b) Tábla cuardaigh Celsius go Fahrenheit le haghaidh gach luach Celsius idir nialas agus 100 i
gcéimeanna de 10. Seo a leanas an fhoirmle 𝐹 =9
5𝐶 + 32.
Web Development Skills – Part B - JavaScript 141
a)
b)
4. Scríobh ríomhchlár a dhéanann na huimhreacha go léir ó low go high a shuimiú, sa chás
gur dhá shlánuimhir a d’iontráil an t-úsáideoir deiridh iad x agus y. Mar shampla, dá
gcuirfeadh an t-úsáideoir deiridh 8 agus 13 isteach, ríomhfadh an clár toradh de 8 + 9 +
10 + 11 + 12 + 13 agus thaispeánfadh an clár an toradh sin.
5. Is toradh na slánuimhreacha dearfacha go léir atá níos lú ná nó cothrom le n é iolrán
slánuimhreach neamh-dhiúltach n, a léirítear le 𝑛!. Mar shampla, 5! = 5 × 4 × 3 × 2 × 1 =
120. Scríobh ríomhchlár a thugann leid don úsáideoir uimhir a iontráil agus a ríomhann agus
a thaispeánann a hiolrán ansin.
6. Tabhair le fios (agus cuir i bhfeidhm) riail bhailíochtaithe fhéideartha do na luachanna sonraí
seo a leanas:
a) Marc céatadáin b) Grád i Scrúdú na hArdteistiméireachta
c) Cód do chúrsa CAO d) Leasainm Twitter
e) Seoladh ríomhphoist f) Ainm contae ar bith in Éirinn
g) Uimhir theileafóin ar bith h) Uimhir chlárúcháin feithicle de chuid na hÉireann
Web Development Skills – Part B - JavaScript 142
An lúb for
Taispeántar comhréir lúba for thíos.
for(initialisation; condition; step){
statement(s)
}
Tá trí chuid sa ráiteas for agus gach
ceann deighilte ag leathstadanna –
túsú, coinníoll agus céim. Tá an corp
lúibe comhdhéanta den ráiteas/de na
ráitis.
Is féidir séimeantaic na lúba for a mhíniú ach an tsreabhchairt anótáilte seo a leanas a úsáid.
Mínímis é seo le sampla. Úsáideann an cód thíos lúb for chun an teaghrán Hello World a
thaispeáint trí huaire.
for (let counter = 0; counter < 3; counter++) {
console.log("Hello World");
}
Hello World
Hello World
Hello World
Lúb shimplí for Aschur
Nuair a ritheann inneall JavaScript an cód thuas, tosaíonn sé sa rannóg túsaithe (1). Déantar an
athróg counter a fhógairt agus a thúsú go nialas. Déantar an coinníoll counter < 3 a
luacháil ansin (2). An chéad uair a ritear an corp lúibe, luachálfar an garda lúibe go true agus
mar sin ritear an corp lúibe (3). Taispeánann an corp lúibe an teaghrán Hello World ar an
gconsól agus leantar leis an bpróiseáil ag (4) áit a gcuirtear incrimintí leis an luach counter
(counter++). Déantar an coinníoll a athmheas i ndiaidh na céime seo agus, bunaithe ar an
Web Development Skills – Part B - JavaScript 143
toradh, rithfear na ráitis sa chorp lúibe arís nó cuirfear deireadh leis an lúb agus is é an chéad
ráiteas eile le rith an chéad ráiteas i ndiaidh an choirp lúibe (5).
Is féidir an cur síos roimhe sin a chur in iúl ach cód a úsáid, mar seo a leanas. Tá seo agus an
bhlogh chóid a thaispeántar ar an leathanach roimhe seo comhionann ó thaobh na loighce de.
// Túsú
let counter = 0;
// Coinníoll – 1ú atriall
if (counter < 3)
console.log("Hello World");
counter++; // céim 1
// Coinníoll – 2ú hatriall
if (counter < 3)
console.log("Hello World");
counter++; // céim 2
// Coinníoll – 3ú hatriall
if (counter < 3)
console.log("Hello World");
counter++; // céim 3
// Ag an gcéim seo, is 3 a bheidh mar luach an áiritheora agus tiocfaidh deireadh leis
an lúb
Is fiú a lua go ndéantar tagairt don athróg sa rannóg túsaithe mar an athróg lúibe. (counter is
ea ainm na hathróige lúibe sa sampla thuas.) De ghnáth, is ionann an coinníoll i lúb for agus
slonn Boole éigin ina bhfuil an athróg lúibe. Ag deireadh gach atrialla lúibe, déantar luach na
hathróige lúibe a chéimniú – trína incrimintiú/a dheicrimintiú de ghnáth. Luachálfar an coinníoll
evaluate mar false ar deireadh agus tiocfaidh deireadh leis an lúb.
POINTE TÁBHACHTACH: I gcás lúb for, déantar an coinníoll a athluacháil
gach uair, i ndiaidh chéim na céime. Má luacháiltear an coinníoll mar true,
ritear an corp lúibe. Má luacháiltear an coinníoll mar false, tagann deireadh leis
an lúb agus leantar leis an bpróiseáil ag an gcéad ráiteas eile i ndiaidh
dheireadh an choirp lúibe.
Web Development Skills – Part B - JavaScript 144
Samplaí – lúba for agus while
Bealach eile chun lúba for a mhíniú ná i dtéarmaí lúba while. Cé go bhfuil comhréir while
agus for (a thaispeántar thíos) difriúil, tá an dá lúb comhionann ó thaobh na loighce de.
initialisation;
while (condition) {
statement(s)
step
}
for(initialisation; condition; step) {
statement(s)
}
Comhréir na lúibe while Comhréir na lúibe for
Déanann gach péire blogh chóid sna samplaí thíos an rud céanna – taispeántar cur chun
feidhme na lúibe while ar chlé agus taispeántar cur chun feidhme na lúibe for, atá
comhionann ó thaobh na loighce de, ar dheis. Déan staidéar cúramach ar gach sampla agus
bain úsáid as an spás thíos chun do nótaí a thaifeadadh agus tú á dhéanamh.
Sampla 1 – taispeáin na slánuimhreacha ó 1 go 10.
let count = 1;
while (count <= 10) {
console.log(count);
count++;
}
for (let count = 1; count <= 10; count++) {
console.log(count);
}
Sampla 2 – taispeáin an seicheamh 0, 2, 4, 6, ... 100
let count = 0;
while (count <= 100) {
if (count % 2 == 0)
console.log(count);
count++;
}
for (let count = 0; count <= 100; count+=5) {
if (count % 2 == 0)
console.log(count);
}
Web Development Skills – Part B - JavaScript 145
Sampla 3 – taispeáin gach 5ú slánuimhir idir 0 agus 100 agus a huimhir chearnach
let count = 0;
while (count <= 100) {
if (count % 5 == 0)
console.log(count,
Math.pow(count,2));
count+=5;
}
for (let count = 0; count <= 100; count+=5) {
if (count % 5 == 0)
console.log(count, Math.pow(count,2));
}
Sampla 4 – déan an líon iolraithe ar 3 idir 1 agus 100 a chomhaireamh
let i=0, multiplesOf3 = 0;
while (i <= 100) {
if (i % 3 == 0)
multiplesOf3++;
i++;
}
console.log(multiplesOf3,
"found");
let i, multiplesOf3;
for (i = 0, multiplesOf3 = 0; i <= 100; i++) {
if (i % 3 == 0)
multiplesOf3++;
}
console.log(multiplesOf3, "found");
Web Development Skills – Part B - JavaScript 146
Web Development Skills – Part B - JavaScript 147
Sampla 5 – déan n! (e.g. 5x4x3x2x1) a ríomh agus ansin taispeáin an toradh
let fact = 1;
let n = 5;
let number = n;
while (number > 0) {
fact = fact * number;
number--;
}
console.log(n+"! =", fact);
let fact = 1;
let n = 5;
for (let number = n; number > 0; number--) {
fact = fact * number;
}
console.log(n+"! =", factorial);
Lúba Éigríochta
Má thugann an garda lúibe true i gcónaí, rithfear an corp lúibe go deo. Tugtar lúba éigríochta
(infinite) ar lúba den sórt sin. Tá cásanna ann ina scríobhann ríomhchláraitheoirí cláir, d’aon
ghnó, ina rithfidh a lúba go deo. Nuair nach ndéantar iad a ríomhchlárú d’aon ghnó, áfach,
bíonn lúba éigríochta ina gcúis le ríomhchlár reatha bheith ag ‘reo’ (míchaoithiúlacht an-mhór
don úsáideoir deiridh). Nuair a bhíonn lúba á scríobh acu, ba cheart do ríomhchláraitheoirí a
bheith cúramach cosaint in aghaidh lúba éigríochta neamhbheartaithe a chur san áireamh. I
bhformhór na gcásanna, ba cheart go mbeadh ráiteas éigin sa chorp lúebe a fhágfaidh gur
false an garda lúibe ar deireadh, agus a chuirfidh deireadh leis an lúb dá bharr sin.
count = 0
while (count <= 10) {
console.log("Infinite Loop");
}
for (; ;) {
console.log("Infinite Loop");
}
Dhá shampla de lúba éigríochta. Ní éiríonn coinníoll an gharda lúibe false riamh
POINTE TÁBHACHTACH: Is éard atá i lúb éigríochta, ceann nach dtagann
deireadh léi riamh. Tarlaíonn siad i gcód ina luacháiltear coinníoll an gharda
lúibe mar true i gcónaí.
Web Development Skills – Part B - JavaScript 148
Cleachtaí ríomhchlárúcháin (lúba for )
1. Léigh gach ceann de na bloghanna cóid seo a leanas go cúramach agus déan an t-aschur a
ghinfeadh gach ceann de na lúba for a thaispeántar. I ngach cás, ba cheart duit an cód a
chur isteach agus a rith agus comparáid a dhéanamh idir do chuid tuartha agus an t-aschur
iarbhír.
Lúb 1 Aschur Tuartha
Aschur Iarbhír
for (let count = 0; count <= 5; count++) {
console.log(count);
}
Lúb 2 Aschur Tuartha
Aschur Iarbhír
for (let count = 1; count < 5; count++) {
console.log(count);
}
Lúb 3 Aschur Tuartha
Aschur Iarbhír
for (let count = 0; count <= 100; count+=10) {
console.log(count);
}
Lúb 4 Aschur Tuartha
Aschur Iarbhír
for (let count = 5; count > 0; count--) {
console.log(count);
}
Web Development Skills – Part B - JavaScript 149
Lúb 5 Aschur Tuartha
Aschur Iarbhír
for (let count = 10; count >= 0; ) {
console.log(count);
count -= 2;
}
2. Déan comparáid idir an dá ríomhchlár thíos ó thaobh an mhéid a dhéanann siad agus an tslí
a ndéanann siad é.
a) Bain úsáid as an spás a chuirtear ar fáil chun an t-aschur a thaispeánfadh gach ríomhchlár
a thaifeadadh, sa chás go n-iontrálfadh an t-úsáideoir luach 3 le haghaidh start agus 7 le
haghaidh end
let start = Number(prompt("Enter a number to start from"));
let end = Number(prompt("Enter a number to end at"));
for (; start <= end; start++) {
console.log(start);
}
ASCHUR le haghaidh
3 agus 7
b) Cén fáth nach bhfuil slonn túsaithe ag an lúb for thuas?
c) An féidir leat slonn túsaithe a thabhairt le fios le húsáid sa lúb for?
d) Bain triail as! An féidir an loighic chéanna a bhaint amach gan start++ a bheith sa lúb
for?
let start = Number(prompt("Enter a number to start from"));
let end = Number(prompt("Enter a number to end at"));
let outStr = "";
while (start <= end) {
outStr = outStr + start + ", ";
start++;
}
Web Development Skills – Part B - JavaScript 150
console.log(outStr);
ASCHUR (le haghaidh 3 agus 7):
e) Cén cuspóir atá leis an athróg outStr sa ríomhchlár thuas?
f) Mionathraigh an ríomhchlár le nach dtaispeánfar aon chamóg shraoilleach ag deireadh an
aschuir (i.e. níor cheart camóga a fheiceáil ach amháin idir na luachanna a thaispeántar).
Web Development Skills – Part B - JavaScript 151
Na ráitis break agus continue
Tugaimis aird anois ar dhá eochairfhocal a bhaineann le lúba – break agus continue.
break
Ní féidir ráiteas break a úsáid ach amháin laistigh de ráiteas lúibe nó switch ar bith. Nuair a
ritear é, cuireann sé iallach ar an ráiteas lúibe nó switch ina n-úsáidtear é stopadh. Aistrítear
próiseáil go dtí an chéad líne i ndiaidh na lúibe nó switch.
Léirítear an úsáid a bhaintear as break sa sampla seo a leanas. Taispeántar an t-aschur ar
dheis.
let someValue = 7;
while (someValue > 0) {
someValue--; // deicrimint
if (someValue == 3)
break;
console.log(someValue);
}
6
5
4
An úsáid is coitianta a bhaintear as break ná scor de ráiteas switch chomh luath agus a bhíonn
case próiseáilte. Baineann ríomhchláraitheoirí le taithí úsáid as an ráiteas break freisin mar
bhealach chun scor de lúba atá á ngardáil ag coinníollacha a luacháiltear mar true i gcónaí (i.e.
lúba éigríochta).
continue
Ní féidir an ráiteas continue a úsáid ach amháin laistigh de cheann ar bith de na struchtúir lúibe.
Ní bhacann an lúb, dá bharr, le hatriall amháin ach léimeann láithreach go dtí an chéad atriall eile
den lúb. Mionathraítear an sreabhadh rialúcháin mar seo a leanas:
− i lúba while agus do-while, is é an ráiteas continue is cúis leis an sreabhadh rialúcháin
ag léim láithreach go dtí coinníoll an gharda lúibe.
− i lúb for, léimeann an sreabhadh rialúcháin go dtí an slonn céime láithreach (i.e. an tríú cuid
den ráiteas for)
Léirítear an úsáid a bhaintear as continue sa sampla seo a leanas. Taispeántar an t-aschur ar
dheis.
let someValue = 6;
while (someValue > 0) {
someValue--; // deicrimint
5
4
Web Development Skills – Part B - JavaScript 152
if (someValue == 3)
continue;
console.log(someValue);
}
2
1
0
Lúba Neadaithe
Lúb taobh istigh de lúb eile is ea lúb neadaithe.
Tá dhá lúb for sa sampla thíos. Tugtar an lúb lasmuigh ar an gcéad lúb for agus tugtar an lúb
laistigh nó neadaithe ar an dara lúb for. Tá an lúb laistigh neadaithe sa lúb lasmuigh.
for (let row = 1; row<5; row++) {
for (let col = 1; col<=3; col++) {
console.log(row, col);
}
}
Sa sampla seo, ritear an lúb lasmuigh ceithre huaire. Mar is
amhlaidh le gach lúb, déantar an corp lúibe a rith arís agus arís
eile. Sa chás seo, tarlaíonn sé gur lúb eile é an corp lúibe – an lúb
laistigh. Déanann an lúb laistigh trí atriall – taispeánann a corp
lúibe na hathróga lúibe don dá lúb ar an gconsól i.e. row agus
col. Taispeántar an t-aschur anseo ar dheis.
Mar is féidir a fheiceáil, taispeántar an luach ró roimh an luach
col. Bogann athróg na lúibe lasmuigh níos moille ná athróg na
lúibe laistigh. Tá 15 atriall ar fad ann idir an dá lúb.
Níl an chúis a úsáideann ríomhchláraitheoirí lúba neadaithe difriúil leis an gcúis a úsáideann
siad lúb ar bith eile i.e. chun bloc cóid a athdhéanamh. Tarlaíonn sé gur lúb é an bloc cóid atá le
hathdhéanamh
Tóg mar shampla an lúb for a léirítear anseo agus a thaispeánann tábla iolrúcháin 7.
for (let count=0; count<=12; count++) {
Web Development Skills – Part B - JavaScript 153
console.log("7 x", count, "=", 7*count);
}
Mar a fheictear, lúbann an cód trí na slánuimhreacha go léir ó 0 go 12 agus iolraíonn sé gach
ceann ar 7 ar an mbealach.
Cuir i gcás gur mhian linn na táblaí iolrúcháin go léir ó 1 go 10 a thaispeáint (agus ní tábla
iolrúcháin 7 amháin). An bealach leis sin a dhéanamh ná le lúb neadaithe.
Tógaimid ár lúb ‘iolrúcháin 7’ agus timfhilleann í laistigh de lúb eile a dhéantar a atriall deichn-
uaire. Ar ndóigh, nílimid ag iarraidh an tábla iolrúcháin 7 a thaispeáint deich n-uaire, mar sin
úsáidimid athróg ar a dtugtar tables lena chur in iúl cé na ‘táblaí iolrúcháin’ atá le taispeáint.
Seo a leanas an réiteach:
for (let tables=1; tables<=10; tables++) {
for (let count=0; count<=12; count++) {
console.log(tables,"x", count, "=", tables*count);
} // lúb laistigh
console.log("\n\n");
} // lúb lasmuigh
Déanann an lúb lasmuigh atriall trí na táblaí ó 1 go 10 agus déanann an lúb laistigh atriall trí na
luachanna ó 1 go 12 maidir le gach tábla. Go bunúsach, táimid ag timfhilleadh an chóid chun
tábla iolrúcháin amháin a thaispeáint laistigh de lúb a léimeann trí dheich dtábla.
Baintear úsáid choitianta as lúba neadaithe chun atrialla a dhéanamh thar eagair dhéthoiseacha
(2D) (i.e. déanann an lúb laistigh an phróiseáil chothrománach agus déanann an lúb lasmuigh
nó an lúb níos moille an phróiseáil cheartingearach). Is struchtúr sonraí iad eagair 2D a
Web Development Skills – Part B - JavaScript 154
úsáidtear chun sonraí ar bith is féidir a eagrú ina rónna agus ina gcolúin (e.g. maitrísí, longa
cogaidh, clár fichille, Sudoku, etc.) a léiriú. Baintear úsáid astu chun go leor cluichí cláir a chur i
bhfeidhm.
Féadfaidh lúb a bheith i lúb neadaithe freisin – sa chás seo bheadh lúb laistigh de lúb laistigh de
lúb againn (e.g. lúb 3 laistigh de lúb 2 atá laistigh de lúb 1, an lúb lasmuigh). Go teoiriciúil, is
féidir lúba a neadú go doimhneacht ar bith – tá ceithre leibhéal neadaithe sa sampla thíos. Tá
an sampla seo beagán dian – i gcleachtas, is é dhá leibhéal neadaithe an rud is coitianta.
Sampla
Is ardléiriú é an ríomhchlár seo a leanas ar an úsáid a bhaintear as lúba neadaithe chun na
huimhreacha sásta 4 dhigit go léir a aimsiú agus a thaispeáint. Deirtear go bhfuil uimhir ‘sásta’
más ionann suim an chéad dá dhigit agus suim an dá dhigit dheireanacha. Samplaí
d’uimhreacha sásta iad 1111, 5005 agus 8439 – an féidir leat smaoineamh ar chinn eile?
// Uimhreacha sásta
for (let a = 0; a<10; a++)
for (let b = 0; b<10; b++)
for (let c = 0; c<10; c++)
for (let d = 0; d<10; d++)
if (a+b == c+d)
console.log("Happy Number:", a, b, c, d);
Cleachtadh (fadhb Parson)
Iontráil na trí líne a thugtar sna háiteanna cearta (A, B, agus C) sa bhloc cóid a thaispeántar le
go dtaispeánfaidh sé iolrán na chéad chúig uimhir nádúrtha.
Web Development Skills – Part B - JavaScript 155
Leid: Déanann an cód a thaispeántar 6! a ríomh agus a thaispeáint.
factorial = 1;
for (let number = 6; number > 0; number--) {
factorial = factorial * number;
} // end for
console.log(6, "! =", factorial);
Cuir isteach an ríomhchlár thuas agus déan tástáil air. An oibríonn sé?
Céard é an t-íosmhéid tástálacha a bheadh ort a dhéanamh le bheith
cinnte go n-oibríonn sé?
Déan an ríomhchlár a mheas anois. Cá mhéad comparáidí is gá a dhéanamh
– féach ar an gcás is fearr agus ar an gcás is measa. Céard faoi dá mbeimis
ag iarraidh an ceann is mó as ceithre uimhir a aimsiú? Céard faoi cúig cinn?
Web Development Skills – Part B - JavaScript 156
Web Development Skills – Part B - JavaScript 157
Cleachtaí Ríomhchlárúcháin – Lúba
1. Scríobh lúb JavaScript a thaispeánann na slánuimhreacha ó 1 go 10, an dá uimhir sin san
áireamh.
2. Scríobh lúb JavaScript a thaispeánann na slánuimhreacha ó 10 go 20, an dá uimhir sin san
áireamh.
3. Scríobh lúb JavaScript a thaispeánann na slánuimhreacha ó 10 go 1, an dá uimhir sin san
áireamh, in ord íslitheach.
4. Scríobh lúb a thaispeánann gach 10ú slánuimhir idir nialas agus 100, an dá uimhir sin san
áireamh, i.e. 0, 10, 20, 30 etc.
5. Scríobh lúb JavaScript a ríomhann suim na chéad 𝑛 uimhreacha nádúrtha
6. Cuirtear deilín uimhreach 𝑥 in iúl le 1
𝑥. Mar shampla, is é
1
5 deilín 5. Scríobh ríomhchlár chun
deilín na chéad 10 n-uimhir nádúrtha a shuimiú i.e.
1
1+
1
2+
1
3+
1
4+
1
5+
1
6+
1
7+
1
8+
1
9+
1
10
7. Scríobh ríomhchlár a ghineann dhá uimhir randamacha (idir 1 agus 10) agus a
thaispeánann a suim. Leathnaigh an ríomhchlár ionas go ndéanfaidh sé é sin trí huaire.
8. Scríobh ríomhchlár a ghineann dhá uimhir randamacha (abair idir 1 agus 10) agus a iarrann
ar an úsáideoir a suim a iontráil. Ba cheart go leanfadh an ríomhchlár ar aghaidh go dtí go
n-iontrálann an t-úsáideoir an freagra ceart.
9. Scríobh ríomhchlár chun atriall a dhéanamh ar na huimhreacha go léir idir 1 agus 100. Gach
uair a thagann sé ar iolraí de 5, priontálann sé ‘fizz’. Priontálann sé ‘buzz’ le haghaidh gach
iolraí de 10 agus priontálann sé an uimhir i gcás gach uimhreach eile.
Web Development Skills – Part B - JavaScript 158
10. Scríobh ríomhchlár a thugann leid don úsáideoir arís agus arís eile uimhir a iontráil. Sa chás
go n-iontrálann an t-úsáideoir ré-uimhir, ba cheart don ríomhchlár Even a thaispeáint.
Seachas sin, ba cheart don ríomhchlár an teachtaireacht Odd a thaispeáint. Ba cheart go
dtiocfadh deireadh leis an ríomhchlár nuair a iontrálann an t-úsáideoir an focal ‘stop’.
11. Scríobh ríomhchlár a choimeádann cuntas ar an líon ré-uimhreacha a iontrálann úsáideoir
go dtí go n-iontráiltear an focal ‘stop’.
12. Scríobh ríomhchlár a ionsamhlaíonn caitheamh díslí (leid: bain úsáid as uimhir randamach
idir 1 agus 6.) Ba cheart go leanfadh an ríomhchlár ar aghaidh go dtí go ‘gcaitear’ sé. Ba
cheart don ríomhchlár an líon caithimh a theastaigh chun 6 a fháil a thaispeáint.
13. Leathnaigh an ríomhchlár roimhe seo chun an líon caithimh a theastaíonn chun ‘súile
nathrach’ a fháil a chomhaireamh. Cuir i bhfeidhm é seo le dísle amháin ar dtús i.e.
caitheamh amháin ag an am. Ansin dhá chaitheamh. (Ciallaíonn súile nathrach dhá aon i
ndiaidh a chéile le dísle amháin nó aonta dúbailte má tá dhá dhísle á n-úsáid).
14. Is éard atá i seicheamh Fibonacci ná seicheamh uimhreacha ina bhfuil gach uimhir i ndiaidh
a chéile comhionann le suim an dá uimhir a chuaigh roimpi. Mar sin, is iad na chéad seacht
n-uimhir sa seicheamh Fibonacci 1, 1, 2, 3, 5, 8, 13. Scríobh ríomhchlár a ríomhann an nú
huimhir Fibonacci. Mar shampla, sa chás go n-iontrálfadh an t-úsáideoir 6, thabharfadh an
ríomhchlár 8 mar aschur (mar is é 8 an 6ú huimhir Fibonacci)
15. Bronnann an CAO pointí ar scoláirí bunaithe ar a ngnóthachtáil i Scrúdú na
hArdteistiméireachta. Léirítear sa tábla thíos marcanna scoláirí á mapáil go pointí CAO ag
an ngnáthleibhéal agus ag an ardleibhéal, agus gan ach na sé ábhar is fearr san áireamh.
% Bandaí Ardleibhéal Gnáthleibhéal
90 – 100 H1 100 O1 56
80 – 89 H2 88 O2 46
70 – 79 H3 77 O3 37
60 – 69 H4 66 O4 28
50 – 59 H5 56 O5 20
40 – 49 H6 46 O6 12
30 – 39 H7 37 O7 0
0 – 29 H8 0 O8 0
Web Development Skills – Part B - JavaScript 159
Scríobh ríomhchlár a iarrann ar úsáideoir sé thoradh a iontráil. Iontráil cód le haghaidh gach toraidh
(‘H’ le toradh ardleibhéil a chur in iúl; ‘O’ don ghnáthleibhéal) agus iontráil an céatadán
iarbhír ina dhiaidh sin. Ba cheart don ríomhchlár na pointí ábhartha don chéatadán a
iontráladh a chinneadh agus iomlán reatha de na pointí go dtí sin a choimeád. Chomh luath
agus a bheidh an toradh deiridh iontráilte, ba cheart don ríomhchlár an líon iomlán pointí
carntha a thaispeáint. (Déantar neamhaird de phointí sa bhreis agus de na sé ábhar is
fearr.)
Déan machnamh ar na cleachtaí go léir sa rannán seo.
Tabhair le fios cén chaoi a bhféadfaí ceann ar bith de na cleachtaí seo a
oiriúnú le húsáid i rang Ríomheolaíocht na hArdteistiméireachta de do chuid
féin?
Web Development Skills – Part B - JavaScript 160
Web Development Skills – Part B - JavaScript 161
Teaghráin Cuimhnigh gurb éard atá i dteaghrán seicheamh carachtar ar bith idir comharthaí athfhriotail. (Is
féidir comharthaí singile nó dúbailte athfhriotail a úsáid ach ní mór dóibh a bheith
comhsheasmhach).
Is cineálacha sonraí thar a bheith solúbtha iad teaghráin. Is féidir iad a úsáid chun rud ar bith a
léiriú, ó ainm duine, nó uimhir ghutháin go dtí méideanna móra téacs amhail inneachar
leathanach gréasáin, fotha nuachta nó lámhleabhar mar an gceann seo, fiú.
Tá samplaí de luachanna litriúla sa tábla thíos, chomh maith le cur síos gairid ar gach ceann.
Sampla de luach litriúil teaghráin
Cur síos gairid
"11 The Laurels, Dublin 24" Féadfaidh meascán de litreacha agus uimhreacha (agus carachtar Unicode ar bith) a bheith i dteaghráin.
"0861234567" Féadfaidh teaghrán a bheith comhdhéanta go hiomlán de dhigití.
"+353-(0)86-1234567" Uimhir ghutháin idirnáisiúnta
"970-0-393-63499" Teaghrán a úsáidtear chun ISBN a stóráil
"https://glitch.com/edit/#!/pdst-wkshp-day2?path=string.js:8:0"
Teaghrán a úsáidtear chun URL a stóráil
‘Game of Thrones’ Is féidir teaghráin a theormharcáil laistigh de chomharthaí singile athfhriotail (chomh maith le cinn dhúbailte)
‘St. Patrick\’s Day, March 17’
Ní mór an comhartha singil athfhriotail ag deireadh Patrick’s a éalú. Murach sin, d’fhéachfadh JavaScript air sin mar an comhartha athfhriotail deiridh chun deireadh teaghráin a chur in iúl.
"St. Patrick’s Day, March 17" Níl an seicheamh éalaithe de dhíth anseo mar gheall go bhfuil an teaghrán iniata idir comharthaí dúbailte athfhriotail.
“Féadfaidh teaghrán \
línte iomadúla de chód JS \
a thrasnú ach an carachtar \\ a
úsáid!"
Féadfaidh teaghráin roinnt línte de ríomhchlár JavaScript a thrasnú. Taifíonn an teaghrán seo in: Féadfaidh teaghrán línte iomadúla de chód JS a thrasnú ach an carachtar \ a úsáid!
"Féadfaidh teaghrán \n línte
iomadúla \n a thrasnú ach an
carachtar \\n a úsáid!"
Féadfaidh línte iomadúla a bheith i dteaghráin chomh maith. Taifíonn an teaghrán seo in: Féadfaidh teaghrán línte iomadúla a thrasnú ach an carachtar \n a úsáid!
Web Development Skills – Part B - JavaScript 162
Teaghrán a innéacsú
Is féidir rochtain a fháil ar charachtair aonair ach innéacs a úsáid (ar an gcaoi chéanna a n-
úsáidtear innéacs chun rochtain a fháil ar ghnéithe eagair). Nialas atá in innéacs an chéad
charachtair i ngach teaghrán agus 𝑛 − 1 atá in innéacs an charachtair deiridh i dteaghrán atá 𝑛
ar fad.
Measaimis an teaghrán s a fhógraítear agus a thúsaítear mar seo a leanas:
let s = "Hello World!";
Léirítear sa léaráid thíos s le hinnéacs gach carachtair ar taispeáint thíos faoi.
Is féidir gach carachtar i dteaghrán a shainaithint le suíomh ar a dtugtar innéacs.
Ba cheart gur léir ón léaráid go dtabharfadh an slonn s[0] an teaghrán "H"; thabharfadh s[1]
"e" agus mar sin de, go dtí s[11] a thabharfadh an teaghrán "!". Tabhair faoi deara nach
dtacaítear leis na hinnéacsanna diúltacha agus go dtabharfar undefined mar luach sa chás go
bhfuil an t-innéacs a úsáideadh as raon.
Anuas air sin, ba cheart a thabhairt faoi deara gur inléite amháin iad na teaghráin in JavaScript.
Ciallaíonn sé sin nach féidir luach teaghrán JavaScript a athrú i ndiaidh é a chruthú.
Cuir i gcás gur theastaigh uainn an teaghrán s a athrú ó Hello World! go Howdy World! –
d’fhéadfaimis tabhairt faoi mar seo a leanas:
s[1] = "o";
s[2] = "w";
s[3] = "d";
s[4] = "y";
console.log(s); // Hello World!
Cé nach ndéantar earráid ar bith mar thoradh ar an gcód, ní oibríonn sé agus ní dhéantar athrú
ar an teaghrán s.
Web Development Skills – Part B - JavaScript 163
POINTE TÁBHACHTACH: Is féidir rochtain a fhail ar ghnéithe aonair teaghráin ach
an oibríocht innéacs a úsáid, ach ní féidir iad a athrú (mar gheall go bhfuil teaghráin
do-athraithe).
Bun-Teaghráin vs. Teaghráin mar Oibiachtaí
Is féidir teaghráin JavaScript a chruthú mar bhunteaghráin nó mar oibiachtaí. Léirítear sa chód
thíos bealaí éagsúla ar féidir teaghráin a chruthú.
let s1 = "Joe";
let s2 = "Joe";
let s3 = s2;
let s4 = new String("Joe");
let s5 = new String("Joe");
let s6 = s5;
Sa chód thuas, is bunteaghráin iad na hathróga s1, s2 agus s3 go léir. Is teaghrán é a
gcineál sonraí. Cruthaítear bunteaghráin trí luach litriúil teaghráin a shannadh d’athróg. Bealach
eile chun iad a chruthú ná teaghrán eile (atá ann cheana féin) a shannadh d’athróg (amhail i
gcás s3 thuas)
Is den chineál oibiacht iad na hathróga s4, s5 agus s6 go léir. Cruthaítear an dá theaghrán
s4 agus s5 go sonrach mar oibiachtaí tríd an oibreoir nua a chur i bhfeidhm ar String, ar
oibiacht JavaScript ionsuite é. (Le téarmaíocht teangacha eile atá bunaithe ar oibiachtaí, amhail
C++ agus Java, is féidir smaoineamh ar String mar chruthaitheoir/rapar don aicme String
statach/uilíoch.). Níl in s6 ach tagairt don teaghrán s5.
Sa léaráid thíos, tugtar léargas ar an tslí a bhféadfaí na hathróga thuas a léiriú sa chuimhne i
ndiaidh iad a dhearbhú. (Braithfidh an léiriú iarbhír ar chur i bhfeidhm JavaScript agus
d’fhéadfadh sé a bheith difriúil ó bhrabhsálaí go brabhsálaí, mar sin.)
Web Development Skills – Part B - JavaScript 164
Tá s1, s2, s3 go léir go díreach
mar an gcéanna – an teaghrán Joe an
luach atá acu.
Is dhá oibiacht teaghráin ar leith iad s4
agus s5.
Déanann s5 agus s6 tagairt don
oibiacht teaghráin chéanna.
D'fhoghlaimíomar ar an leathanach roimhe seo gur féidir teaghráin JavaScript a chruthú mar
bhunteaghráin nó mar oibiachtaí. Gné thábhachtach amháin de theaghráin JavaScript,
áfach, ná go ngníomhaíonn gach teaghrán mar oibiacht, beag beann ar an tslí ar
cruthaíodh é.
Ciallaíonn sé sin gur féidir le bunteaghráin na modhanna agus na hairíonna a shainmhínítear
d’oibiachtaí teaghráin ionsuite a úsáid freisin.
Mar shampla, cuir i gcás go raibh bunteaghrán s1 againn, a fógraíodh mar a thaispeántar sa
chód thíos.
Mar gheall gur féidir caitheamh le s1 mar oibiacht freisin, is féidir linn rochtain a fháil ar airí a
fhaid, mar a léirítear sa chód.
let s1 = "A quick brown fox";
let len = s1.length;
console.log("The length of s1 is", len);
console.log("The last character of s1 is", s1[len-1]);
Cuireann an cód an t-aschur seo a leanas ar taispeáint ar an gconsól:
Ar an tslí chéanna, is féidir linn a rá gur bunmhodh é modh teaghráin ar bith ar theaghrán.
includes is ainm do mhodh amháin den sórt sin. (Breathnóimid ar a thuilleadh modhanna
teaghráin go luath.)
Web Development Skills – Part B - JavaScript 165
Leis an modh includes, tugtar true sa chás go gcuirtear teaghrán sonraithe éigin san
áireamh laistigh de theaghrán; false seachas sin. Sa chás gur bunteaghrán é s1 a bhfuil A
quick brown fox mar luach aige, is féidir linn an méid seo a leanas a scríobh:
s1.includes("fox") 🡪 true mar gheall go bhfuil fox san áireamh mar chuid de s1
s1.includes("dog") 🡪 false mar gheall nach bhfuil dog san áireamh mar chuid de
s1
Gach uair a ghlaoitear modh ar bhunteaghrán, aistríonn inneall JavaScript an teaghrán go
hoibiacht go hinmheánach. Gairtear an modh ar an oibiacht teaghráin inmheánach seo ansin
(agus nuair a thugtar chun críche é, níl ann don oibiacht inmheánach a thuilleadh).
Teaghráin a chur i gComparáid lena chéile: Luachanna litriúla vs. Tagairtí Oibiachta
Mar gheall go ngníomhaíonn gach teaghrán mar oibiacht, cuirtear mearbhall ar úsáideoirí
uaireanta, go háirithe ó thaobh iad a chur i gcomparáid.
Is féidir dhá theaghrán a chur i gcomparáid le haghaidh cothroime leis an oibreoir cothroime (=
=) nó leis an oibreoir cothroime chruinn (===). Tugann tástálacha le haghaidh cothroime true
nó false i gcónaí.
Ní mór a chinntiú go dtuigtear an difríocht idir comparáid a dhéanamh idir luachanna litriúla
teaghráin agus oibiachtaí teaghráin. Tógaimis an cód seo a leanas mar shampla – léirítear an t-
aschur mar nótaí tráchta.
let s1 = "Joe";
let s2 = "Joe";
let s3 = s2;
let s4 = new String("Joe");
let s5 = new String("Joe");
let s6 = s5;
console.log(s1 == s2); // fíor
console.log(s1 == s3); // fíor
console.log(s1 == s4); // fíor
console.log(s4 == s5); // bréagach
console.log(s5 == s6); // fíor
console.log(s1 === s2); // fíor
console.log(s1 === s3); // fíor
console.log(s1 === s4); // bréagach
Web Development Skills – Part B - JavaScript 166
console.log(s4 === s5); // bréagach
console.log(s5 === s6); // fíor
Tabhair faoi deara go bhfuil s1 agus s4 cothrom lena chéile mar gheall go bhfuil an luach
céanna iontu. Mar sin féin, tugann an tástáil le haghaidh cothroime chruinn false mar gheall
go bhfuil bunchineálacha sonraí an dá athróg difriúil. string atá mar chineál sonraí s1 agus
object atá mar chineál sonraí s4.
Úsáid an spás thíos chun machnamh a dhéanamh ar thorthaí eile na
gcomparáidí sa chód thuas. Mar shampla, cén fáth a dtugann s4 ===
s5 false nuair a
thugann s5 === s6 true?
Is féidir comparáid a dhéanamh idir teaghráin le haghaidh éagothroime freisin le hoibreoirí níl
cothrom le, níos lú ná agus níos mó ná a úsáid. Léirítear sa tábla torthaí roinnt comparáidí
teaghráin den sórt sin.
Tástáil (comparáid) Toradh Nóta tráchta
"apple" < "banana" true Tagann an litir ‘a’ roimh ‘b’. Tá an teaghrán “apple” níos lú ná
an teaghrán “banana”, mar sin, agus tugann an tástáil true.
"apple" > "banana" false Níl an teaghrán “apple” níos mó ná an teaghrán “banana”
"apple" < "aardvark" false Ós rud é go bhfuil an chéad litir sa dá teaghrán mar an
gcéanna (i.e. ‘a’) leanann an tástáil ar aghaidh ón dara litir
"apple" > "apple tart" false Tá an dá theaghrán díreach mar an gcéanna suas go dtí an
‘e’. Tá an dara teaghrán níos faide ná an chéad cheann agus
mar sin meastar go bhfuil sé níos mó.
"Apple" != "apple" true Ós rud é nach bhfuil na teaghráin díreach mar an gcéanna,
tugann an tástáil le haghaidh éagothroime true
"Apple" > "apple" false Tá an cód don ‘A’ cás uachtair níos lú ná an ‘a’ cás íochtair.
"Zebra" <= "giraffe" true Tá na luachanna Unicode do na litreacha cás uachtair go léir
níos lú ná na luachanna Unicode do na litreacha
comhfhreagracha cás íochtair.
Web Development Skills – Part B - JavaScript 167
Oibríonn na hoibríochtaí comparáide trí chomparáid a dhéanamh idir na teaghráin ar bhonn
carachtar-ar-charachtar san ord ar a dtugtar ord foclóireachta.
Bain triail as!
Úsáid an cód thíos chun iniúchadh a dhéanamh ar an modh
localeCompare
(Tagairt: https://www.w3schools.com/jsref/jsref_localecompare.asp)
let apple = "apple";
let banana = "banana";
console.log(apple.localeCompare(banana));
console.log(banana.localeCompare(apple));
console.log(banana.localeCompare(banana));
Déan cur síos ar a ndéanann an modh, an tslí le glaoch air agus céard iad a luachanna aischurtha.
Modhanna teaghráin
Mar gheall go gcaitheann JavaScript le bunteaghráin amhail is gur oibiachtaí String iad, is féidir
glaoch ar mhodh oibiachta teaghráin ar bith ar bhunteaghrán.
Léirítear é sin sa ríomhchlár thíos ina dtaispeántar rogha modhanna oibiachta teaghráin á gcur i
bhfeidhm ar dhá bhunteaghrán – pangram agus toungeTwister.
// Fógair dhá theaghrán le hoibriú leo
let pangram = "Pack my box with five dozen liquor jugs";
let toungeTwister = "Sally sells seashells by the sea shore";
// charAt agus charCodeAt
console.log("The Unicode representation for", pangram.charAt(), "is", pangram.charCodeAt());
console.log("The Unicode representation for", pangram.charAt(1), "is", pangram.charCodeAt(1));
// toUpperCase, toLowerCase agus concat
console.log("toUpperCase:", pangram.toUpperCase());
console.log("toLowerCase:", pangram.toLowerCase());
// concat
Web Development Skills – Part B - JavaScript 168
let lowerCaseStr = toungeTwister.toLowerCase();
let upperCaseStr = toungeTwister.toUpperCase();
console.log(lowerCaseStr.concat(upperCaseStr));
// indexOf
let index = toungeTwister.indexOf("ells");
console.log("indexOf first \'ells\' is:", index);
console.log("indexOf of next \'ells\' is:", toungeTwister.indexOf("ells", index+1));
// lastIndexOf
let lastIndex = toungeTwister.lastIndexOf("ells");
console.log("lastIndexOf \'ells\' is:", lastIndex);
console.log("2nd lastIndexOf of \'ells\' is:", toungeTwister.lastIndexOf("ells",lastIndex-1));
// slice
console.log("slice 1:", pangram.slice(5));
console.log("slice 2:", pangram.slice(5, 11));
// replace
console.log("replace 1:", pangram.replace("box", "bag"));
console.log("replace 2:", toungeTwister.replace("sells", "sold"));
// split
console.log("split 1:", pangram.split());
console.log("split 2:", toungeTwister.split(" "));
Taispeántar an t-aschur a ghineann an ríomhchlár seo ar an gcéad leathanach eile.
POINTE TÁBHACHTACH: Gníomhaíonn gach teaghrán JavaScript amhail is gur
oibiacht é.
Web Development Skills – Part B - JavaScript 169
Is ceart a thabhairt faoi deara, cé go ndealraítear go gcuireann modhanna áirithe e.g. concat,
toLowerCase, toUpperCase, trim etc. athrú ar luach an teaghráin ar a ngníomhaíonn siad,
ní hamhlaidh an cás, i ndáiríre. Is é a tharlaíonn i ndáiríre le modhanna mar sin, cruthaítear
teaghrán nua agus cuirtear ar ais é, agus fágtar an teaghrán bunaidh gan athrú. An chúis leis
sin, ar ndóigh, ná go bhfuil teaghráin do-athraithe.
Déantar cur síos gairid ar gach ceann de na modhanna a úsáidtear sa sampla seo ar an gcéad
leathanach eile.
Úsáid an spás thíos chun do thuiscint ar mhodhanna teaghráin a
thaifeadadh
Ainm an Mhodha Cur Síos
strA.concat(strB) Tugann teaghrán nua atá comhdhéanta de charachtair strA
agus ansin carachtair strB ina ndiaidh.
str.charAt(index)
Tugann teaghrán nua atá comhdhéanta den charachtar ag an
index sainithe sa str (nó teaghrán folamh sa chás go bhfuil
index thar teorainn)
str.charCodeAt(index) Tugann cód Unicode an charachtair ag an innéacs sainithe sa
str (nó NaN sa chás go bhfuil index thar teorainn)
str.toUpperCase() Tugann teaghrán nua ina bhfuil na litreacha ar fad sa str
aistrithe go cás uachtair
Web Development Skills – Part B - JavaScript 170
str.toLowerCase() Tugann teaghrán nua ina bhfuil na litreacha ar fad sa str
aistrithe go cás íochtair
str.indexOf(item
[,fromIndex])
Tugtar innéacs na chéad uaire a fheictear an luach a
shonraíonn item sa str. Mura sonraítear fromIndex,
tosaíonn an cuardach ag innéacs nialas. Sa chás nach
bhfaightear item, tugann an modh -1
str.lastIndexOf(item
[,fromIndex])
Ag tosú ag an deireadh (nó ag fromIndex) agus ag dul siar,
tugann an modh seo innéacs na chéad uaire a fheictear an
luach a shonraíonn item sa str. Sa chás nach bhfaightear
item, tugann an modh -1
str.slice([i1, [i2])
Tugann teaghrán nua atá comhdhéanta de charachtar str ó i1
go dtí i2 ach gan i2 san áireamh. Sa chás nach sonraítear i1,
glactar leis gur nialas é; sa chás nach sonraítear i2, glactar leis
gur str.length é. Níl athrú ar inneachar an teaghráin
bhunaidh.
str.replace(old, new) Gach uair a aimsítear old sa str, cuirtear new ina ionad.
str.split([separator]) Tugann eagar teaghrán deighilte ag an bpointe a shonraíonn an
separator
str.trim()
Cruthaíonn teaghrán nua bunaithe ar str le spásanna bána
chun tosaigh agus chun deiridh bainte amach. Tabhair faoi
deara, ní bhaineann trimStart() ach spásanna bána chun
tosaigh amach agus ní bhaineann trimEnd() ach spásanna
bána chun deiridh amach
Brabhsáil chuig https://www.w3schools.com/jsref/jsref_obj_string.asp chun tagairt níos iomláine
don oibiacht Teaghráin JavaScript a fháil.
Web Development Skills – Part B - JavaScript 171
Teaghráin a Thrasnú
Sampla 1. Déanann an ríomhchlár seo a leanas an líon gutaí i dteaghrán a iontrálann an t-
úsáideoir a chomhaireamh agus a thaispeáint. Baineann an ríomhchlár úsáid as lúb for chun
gach carachtar sa teaghrán a thrasnú. Tugtar trasnáil teaghráin ar an oibríocht sin.
let inString = prompt("Enter a string:");
let vowels = 0;
let ch;
for(let i = 0; i < inString.length; i ++) {
// Bain amach an chéad charachtar eile (as suíomh i) ...
// ... agus athraigh é go cás uachtair
ch = inString.charAt(i).toUpperCase();
if (ch == 'A' || ch == 'E' || ch == 'I' || ch == 'O' || ch == 'U')
vowels ++;
}
console.log("The number of vowels found was", vowels);
Cuir isteach an ríomhchlár, déan é a thástáil agus freagair na ceisteanna seo
a leanas
Céard é cuspóir na lúibe for?
Cén fáth a n-úsáidtear an modh toUpperCase?
Seachas an modh charAt a úsáid, cén teicníc eile a d’fhéadfaí a úsáid chun rochtain a fháil ar na
carachtair ar leith in inString?
Dúshláin!
Bunaithe ar an méid thuas, scríobh ríomhchláir chun....
− an líon carachtar i dteaghrán nach gutaí iad a chomhaireamh agus a thaispeáint
− an líon carachtar i dteaghrán ar consain iad a chomhaireamh agus a thaispeáint
− an líon carachtar cás uachtair i dteaghrán a chomhaireamh agus a thaispeáint
− an líon focal i dteaghrán a chomhaireamh agus a thaispeáint
Web Development Skills – Part B - JavaScript 172
− meánfhad na bhfocal i dteaghrán a chomhaireamh agus a thaispeáint
Web Development Skills – Part B - JavaScript 173
Sampla 2. Tugann an ríomhchlár seo a leanas leid don úsáideoir teaghrán a iontráil agus ansin
taispeánann sé an teaghrán droim ar ais. Taispeántar gach carachtar ar líne ar leith.
let str = prompt("Enter a string:");
for(let i = str.length-1; i >= 0; i--)
{
console.log(str[i]);
}
Dá n-iontráladh an t-úsáideoir Joe, is éard a
bheadh san aschur:
e
o
J
Déan comparáid idir an lúb for sa ríomhchlár seo agus an lúb for sa
sampla roimhe seo.
Féach ar an túsluach le haghaidh i sa dá ríomhchlár. Céard é an difríocht?
Féach ar an ngarda lúibe (an coinníoll críochta) sa dá ríomhchlár. Céard é an difríocht?
Mínigh an fáth ar i-- atá sa chéim lúibe sa ríomhchlár seo agus ar i++ atá inti sa sampla roimhe
seo?
Mínigh cuspóir na hathróige outStr sa chód thíos? Céard a dhéanann an ríomhchlár?
let inStr = prompt("Enter a string:");
let outStr = "";
for(let i = inStr.length-1; i >= 0; i--) {
outStr += inStr[i];
}
console.log(outStr);
Web Development Skills – Part B - JavaScript 174
Sampla 3. Tugann an ríomhchlár samplach seo leid don úsáideoir teaghrán a iontráil agus ansin
taispeánann sé teachtaireacht a insíonn cibé an palandróm nó nach palandróm é an teaghrán.
Is focal nó frása siméadrach is féidir a léamh sa dá threo atá i bpalandróm. Samplaí de
phalandróim ar focail aonair iad MILLIM, RADAR agus DIÚID.
let s = prompt("Enter a string:");
let isPalindrom = true;
// Trasnaigh an teaghrán a dhéanann comparáid idir gach carachtar
for (let i=0, j = s.length-1; i < s.length; i++, j--) {
if (s[i] != s[j]) {
isPalindrom = false;
break;
}
}
// Taispeáin an toradh
if (isPalindrom)
console.log(s, "is a palindrome!");
else
console.log(s, "is not a palindrome!");
Cuir isteach an ríomhchlár, déan é a thástáil agus freagair na ceisteanna seo
a leanas
Mínigh an tslí a n-oibríonn an ríomhchlár.
Céard é cuspóir na hathróige isPalindrome? Dá socrófaí túsluach na hathróige seo mar false (ar
líne 2) cé na hathruithe a bheadh le déanamh chun cirte an ríomhchláir a choimeád?
An oibríonn an ríomhchlár i gcás gach palandróim? Tástáil é leis an méid seo a leanas agus sainaithin aon fhadhbanna a thagann aníos. Navan? RACEcar? MADAM I’M ADAM? DON’T NOD? never odd or even? Murder for a jar of red rum?
Web Development Skills – Part B - JavaScript 175
An féidir leat ‘réitigh’ ar aon cheann de na ‘fabhtanna’ a shainaithin tú a cheapadh agus a fhorbairt?
Cleachtaí Ríomhchlárúcháin – Teaghráin
1. Abair cibé an mbeadh teaghrán cuí do na cineálacha sonraí seo a leanas:
a) Postchód do scoile
b) Do dháta breithe
c) Praghas táirge
d) Cód táirge
e) PPSN
f) An phostáil is déanaí a chuir tú ar na meáin shóisialta
2. Scríobh ríomhchlár a thugann leid don úsáideoir a chéad ainm (e.g. Joe) agus ansin a
shloinne (e.g. Blogs) a iontráil agus ansin priontáil teachtaireacht cosúil le:
Hello Joe Blogs. Fáilte chuig mo shaol craiceáilte!
3. Freagair na ceisteanna seo a leanas maidir leis an teaghrán JavaScript
a) Céard é fad an teaghráin?
b) Cén carachtar a fheictear ag suíomh innéacs nialas?
c) Cén carachtar a fheictear ag suíomh innéacs a ceathair?
d) Ag cén suíomh innéacs a fheictear an carachtar ‘t’?
e) Céard a bheadh ina ainm athróige cuí chun an teaghrán seo a stóráil?
4. Cén t-aschur a thaispeánann an ríomhchlár seo a leanas?
let uprCaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
let lwrCaseLetters = "abcdefghijklmnopqrstuvwxyz"
let letters = uprCaseLetters+lwrCaseLetters
console.log(uprCaseLetters.toLowerCase());
console.log(lwrCaseLetters.toLowerCase());
console.log(uprCaseLetters.slice(0,5));
console.log(uprCaseLetters.slice(20));
console.log(lwrCaseLetters.slice(1,6));
console.log(letters.slice(26,52));
console.log(letters.indexOf("a"));
console.log(letters.lastIndexOf("A"));
console.log(letters.replace("abc", "123"));
Web Development Skills – Part B - JavaScript 176
console.log(uprCaseLetters == lwrCaseLetters);
console.log(uprCaseLetters == lwrCaseLetters.toUpperCase());
5. Scríobh ríomhchlár beag chun na teaghráin seo a leanas a bhaint amach (a
ghearradh/slice) as an teaghrán:
The quick brown fox jumps over the lazy dog
a) “quick”
b) “fox”
c) “The”
d) “The quick brown fox”
e) “jumps over the lazy dog”
6. Scríobh ríomhchlár a iarrann ar úsáideoir a chéad ainm (e.g. Arnold) agus ansin a shloinne
(e.g. Schwarzenegger) a iontráil agus a aschuireann túslitir an chéad ainm agus na chéad
seacht gcarachtar den sloinne ansin (e.g. ASchwarz).
Tástáil do chlár agus Joe Blogs á úsáid mar ainm:
7. Is éard is acrainm ann, sraith litreacha a úsáidtear mar ghiorrúchán do fhrása nó d’ainm
éigin. De ghnáth, cruthaítear é ach túslitir gach focail in ainm an fhrása a chur le chéile. Seo
roinnt samplaí: BSL (Bord Soláthair an Leictreachais), IBM (International Business
Machines) agus GOA (Gáire Os Ard). Scríobh ríomhchlár a ghineann acrainm as frása a
iontrálann an t-úsáideoir.
8. Scríobh ríomhchlár a ionchódaíonn abairtí i mBéarla go ‘Pigs Latin’. Is iomaí leagan de ‘Pigs
Latin’ ann – déan iarracht an dá cheann seo a leanas a chur i bhfeidhm:
a) Ionsáigh ‘eg’ ag deireadh gach guta i ngach focal san abairt le go n-athrófaí an t-ionchur
‘She sat under the table’ go dtí ‘Sheeg saegt uegndeegr theeg taegble’
b) Bog an chéad litir de gach focal san abairt ionchuir go dtí deireadh an fhocail sin agus
cuir ‘ay’ leis. Ar an tslí sin, d’athrófaí an t-ionchur ‘He switched on the computer’ go dtí
‘ehay witchedsay noay hetay omputercay’
Web Development Skills – Part B - JavaScript 177
Déan machnamh ar na cleachtaí go léir sa rannán seo.
Tabhair le fios cén chaoi a bhféadfaí ceann ar bith de na cleachtaí seo a
oiriúnú le húsáid i rang Ríomheolaíocht na hArdteistiméireachta de do chuid
féin?
Web Development Skills – Part B - JavaScript 178
Web Development Skills – Part B - JavaScript 179
Eagair Is éard is eagar ann bailiúchán de luach ar bith nó de luachanna is féidir rochtain a fháil orthu
ach athróg amháin a úsáid. Tugtar eilimint ar gach luach ar leith in eagar agus bíonn gach
eilimint ag suíomh áirithe ar a dtugtar innéacs. Is éard is innéacs eagair ionad seach-chuir ar
bhonn nialasach is féidir a úsáid chun aghaidh a thabhairt ar na heilimintí ar leith in eagar.
POINTE TÁBHACHTACH: Is oibiachtaí JavaScript iad eagair. Mar sin, tá airíonna
gaolmhara acu (e.g. length) agus modhanna (e.g. concat).
Tá eagair úsáideach toisc go dtugann siad bealach dúinn roinnt luachanna a ghrúpáil le chéile
in athróg amháin. Gan eagair, bheadh orainn athróg ar leith a bheith againn le haghaidh gach
luacha.
Cuir i gcás gur theastaigh uainn aoiseanna seisear scoláirí a stóráil. D’fhéadfaimis sé athróg a
úsáid (e.g. age1, age2, etc..) nó d’fhéadfaimis eagar dar teideal ages a fhógairt mar seo a
leanas:
let ages = [18, 16, 18, 17, 19, 17];
Insíonn sin d’inneall JavaScript spás a leithdháileadh le haghaidh sé shlánuimhir agus iad a
stóráil le chéile faoin ainm ages. Taispeántar thíos an léiriú cuimhne ar ages. Tabhair faoi
deara go dtaispeántar innéacs gach eiliminte díreach thíos faoin eilimint féin.
Oibiacht eagair ar a dtugtar ages ina bhfuil sé eilimint
Web Development Skills – Part B - JavaScript 180
Is féidir tagairt a dhéanamh d’eilimintí
aonair eagair ach úsáid a bhaint as ainm an
eagair le hinnéacs idir lúibíní cearnógacha
díreach ina dhiaidh.
Mar shampla, tagraíonn ages[0] don
chéad eilimint san eagar, tagraíonn
ages[1] don dara heilimint, agus mar sin
de. Déantar tagairt don eilimint deiridh san
eagar samplach seo le ages[5].
Léirítear é sin anseo ar dheis.
Cé gur tábhachtach agus gur riachtanach é an chomhréir chun eagair a chruthú agus a
láimhseáil a thuiscint, baineann fíor-ealaíon an ríomhchlárúcháin le cásanna a aithint ina
gcaitear eagair a úsáid i ríomhchlár.
Tógaimis an ríomhchlár seo a leanas mar shampla a ionsamhlaíonn milliún caitheamh díslí
agus a chomhaireann an líon uaireanta a fheictear gach taobh den dísle.
// Spreagann an ríomhchlár samplach seo úsáid eagar
// Cuir i gcás gur theastaigh uainn an líon uaireanta a chaitear gach taobh den dísle
a chomhaireamh
// Úsáideann an ríomhchlár sé athróg ar leith chun an comhaireamh a stóráil ...
// ... stóráiltear an líon uaireanta a chaitear 1 in 'ones', ...
// ... stóráiltear an líon uaireanta a chaitear 2 in ‘twos', ...
// Fógraítear agus túsaítear na hathróga sin mar seo a leanas
let ones = 0, twos = 0, threes = 0, fours = 0, fives = 0, sixes = 0;
// Ionsamhlaigh milliún caitheamh
for (let i = 1; i <= 1000000; i++ ) {
// Gin uimhir randamach idir 1 agus 6
let roll = Math.floor(Math.random() * 6) + 1
if (roll == 1)
ones++;
else if (roll == 2)
twos++;
else if (roll == 3)
threes++;
else if (roll == 4)
fours++;
else if (roll == 5)
fives++;
else if (roll == 6)
sixes++;
} // end for
// Taispeáin na minicíochtaí ar an gconsól
Web Development Skills – Part B - JavaScript 181
console.log("Ones:\t%d", ones);
console.log("Twos:\t%d", twos);
console.log("Threes:\t%d", threes);
console.log("Fours:\t%d", fours);
console.log("Fives:\t%d", fives);
console.log("Sixes:\t%d", sixes);
Ionsamhlaíonn an ríomhchlár caitheamh amháin den dísle ach uimhir randamach idir 1 agus 6 a
ghiniúint agus déantar an próiseas arís is arís eile go ndéantar milliún uair é.
Úsáidtear athróg ar leith chun cuntas a choimeád ar gach taobh den dísle i.e. stórálann ones
an líon uaireanta a chaitear 1, stórálann twos an líon uaireanta a chaitear 2 agus mar sin de.
Meastar gur réiteach ciotach é mar gheall ar an líon athróg a theastaíonn. (Samhlaigh gur
theastaigh uainn cuntas a choimeád ar cé chomh minic a ‘tháinig uimhir aníos’ sa Chrannchur
Náisiúnta. Bheadh 47 athróg ar leith de dhíth!)
Réiteach níos fearr ná eagair a úsáid mar a thaispeántar sa liostáil seo a leanas.
// Fógair eagar ar a dtugtar 'counts'
let counts = [0,0,0,0,0,0,0];
let roll;
for (let i = 1; i <= 1000000; i++ ) {
// Gin uimhir randamach idir 1 agus 6
roll = Math.floor(Math.random() * 6) + 1;
counts[roll]++; // <-- DRAÍOCHTA!!
} // end for
// Taispeáin an t-aschur
console.log("Face\tFrequency\n");
for ( let i = 1; i <= 6; i++ )
console.log("%d\t%d\n", i, counts[i]);
Ones: 166357
Twos: 166570
Threes: 166399
Fours: 167060
Fives: 166487
Sixes: 167127
Cód Aschur samplach
POINTE TÁBHACHTACH: Is iad eagair an rogha comhstruchtúr sonraí chun
ionadaíocht a dhéanamh ar ghrúpaí luachanna gaolmhara in athróg aonair.
Sa sampla roimhe seo, úsáidtear an t-eagar counts chun liosta minicíochtaí a stóráil.
D’fhéadfaí eagair a úsáid chun liostaí uimhreacha (e.g. aoiseanna, tuarastail, figiúirí díolacháin,
airdí, etc.), ainmneacha, uimhreacha gutháin, leabhar, laethanta na seachtaine, míonna na
bliana, dátaí, agus mar sin de, a stóráil chomh maith. Is féidir grúpaí oibiachtaí ar bith, nach
mór, a léiriú le heagair.
Web Development Skills – Part B - JavaScript 182
Liostaigh cúig ‘oibiacht iarbhír’ a bhféadfaí eagar a úsáid chun iad a léiriú
1.
2.
3.
4.
5.
Ríomhchlár Samplach – Gineadóir Abairtí
Sa ríomhchlár Python a thaispeántar thíos, baintear úsáid as ceithre eagar dhifriúla – article,
noun, verb agus preposition – chun abairt randamach a ghiniúint.
Cruthaítear an abairt ach focal a roghnú go randamach ó gach eagar san ord seo:
article noun verb article noun preposition verb
Comhchaitéiníonn an ríomhchlár na focail (agus spásanna eatarthu) chun an abairt deiridh a
chruthú.
import random
articles = ['the', 'a', 'one', 'some', 'any']
nouns = ['boy', 'girl', 'dog', 'town', 'car']
verbs = ['drove', 'jumped', 'ran', 'walked', 'skipped']
prepositions = ['to', 'from', 'over', 'under', 'on']
sizeOfLists = len(articles)-1
wordIndex = random.randint(0, sizeOfLists)
word1 = articles[wordIndex]
wordIndex = random.randint(0, sizeOfLists)
word2 = nouns[wordIndex]
wordIndex = random.randint(0, sizeOfLists)
word3 = verbs[wordIndex]
wordIndex = random.randint(0, sizeOfLists)
word4 = prepositions[wordIndex]
wordIndex = random.randint(0, sizeOfLists)
word5 = articles[wordIndex]
wordIndex = random.randint(0, sizeOfLists)
word6 = nouns[wordIndex]
Web Development Skills – Part B - JavaScript 183
sentence = word1+' '+word2+' '+word3+' '+word4+' '+word5+' '+word6
print(sentence)
Aschur samplach (uaireanta ní bhíonn ciall ar bith leis na habairtí a ghintear!)
● a dog ran under a girl
● any car ran to some boy
● a town ran under any town
● some dog jumped on a car
Dúshlán!
Aistrigh an ríomhchlár Python thuas go JavaScript
.
Luach eilimintí eagair a athrú
Bíonn eagair inathraithe agus dinimiciúil araon – ciallaíonn sin gur féidir eilimintí atá ann cheana
féin a athrú agus eilimintí nua a chur leo. Is féidir eilimintí eagair a scriosadh freisin ach an t-
oibreoir delete a úsáid. Breathnaigh ar an sampla a thaispeántar:
let items = ["Bread", "Milk", "Tea"];
items[0] = "Sliced Pan"; // leasaigh eilimint
delete items[2]; // scrios eilimint
items[3] = "Butter"; // cuir eilimint nua leis
items[4] = "Jam"; // cuir eilimint nua eile leis
console.log(items); // taispeáin inneachar an eagair
Nuair a ritear an cód thuas, taispeántar an t-aschur seo a leanas ar an gconsól.
Nótaí:
✔ Athraíodh an chéad eilimint in items ó Bread go Sliced Pan
✔ Baineadh an tríú heilimint (i.e. eilimint ag suíomh innéacs 2) as an eagar.
✔ Cuireadh dhá eilimint nua le deireadh an eagair items (Butter agus Jam)
✔ Fad 3 a bhí san eagar bunaidh. Tar éis an cód a rith, is 5 atá i bhfad an eagair.
Nuair a scriostar eilimint as eagar, ní thagann athrú ar fhad an eagair. Ní dhéantar ach an luach
a bhaint ón eagar ach bíonn an ‘spás’ mar chuid den eagar fós. Sa sampla thuas, baintear an
Web Development Skills – Part B - JavaScript 184
luach Tea is as items – glantar an chuimhne do items[2] ach bíonn sí leithdháilte i gcónaí.
Tugtar eagair ghanna ar eagair cosúil leis seo a bhfuil spásanna folmha iontu.
POINTE TÁBHACHTACH: Is ionann fad eagar ar bith agus an líon eilimintí ann.
Maidir le heagar a ar bith, tugann an slonn a[a.length-1] an eilimint deiridh i
gcónaí.
Fad eagair
Is féidir a fháil amach cá mhéad eilimintí atá in eagar ach airí length an eagair a úsáid10.
Baintear úsáid as an oibreoir poinc chun rochtain a fháil ar an airí length (díreach mar a
bhaintear úsáid as chun rochtain a fháil ar gach airí oibiachta).
Mar shampla, cuir i gcás gur theastaigh uainn fad items an eagair a fháil, agus iad fógartha
mar seo a leanas:
let items = ["Bread", "Milk", "Tea"];
Tá trí ghné ag an eagar seo:
items[0] 🡪 Bread
items[1] 🡪 Milk
items[2] 🡪Tea
Taispeánann an líne seo a leanas fad items ar an gconsól.
console.log(items.length); // taispeánann 3
Faoin am seo, ba cheart gur léir gurb ionann i gcónaí innéacs na heiliminte deiridh in eagar
agus fad an eagair lúide 1. Is amhlaidh sin lena chur san áireamh gur nialas é innéacs na chéad
eiliminte. Dá bharr sin, thabharfadh an slonn items[items.length-1] an teaghrán Tea sa
sampla seo.
POINTÍ TÁBHACHTACHA:
✔ Tá innéacs de nialas ag an gcéad eilimint i ngach eagar.
✔ Tá innéacs de a.length - 1 ag an eilimint deiridh i ngach eagar a.
10 In JavaScript, caitear le gach eagar mar oibiacht agus, dá bharr sin, tá airíonna agus modhanna
gaolmhara acu.
Web Development Skills – Part B - JavaScript 185
✔ Dá bharr sin, téann innéacsanna bailí ó 0 go dtí fad an eagair lúide 1
Bain triail as!
Déan cás a cheapadh chun tástáil a dhéanamh ar a dtarlódh dá ndéanfá
iarracht rochtain a fháil ar eagar agus innéacs atá as raon á úsáid agat.
Web Development Skills – Part B - JavaScript 186
Modhanna Eagair11
Ar nós gach oibiachta, tá modhanna ag eagair – seo liosta de roinnt de na cinn is coitianta.
Ainm an Mhodha Cur Síos
arrA.concat(arrB) Tugann eagar nua atá comhdhéanta d’eilimintí arrA agus ansin
eilimintí arrB.
arrA.indexOf(item)
Tugann innéacs an chéad uair a fheictear an luach a
shonraíonn item in arrA. Sa chás nach bhfaightear item,
tugann an modh -1
arrA.lastIndexOf(item)
Ag tosú ón deireadh, tugann innéacs an chéad uair a fheictear
an luach a shonraíonn item in arrA. Sa chás nach bhfaightear
item, tugann an modh -1
arrA.join([separator])
Tugann na heilimintí go léir san eagar, iad comhcheangailte mar
theaghrán. Is camóg é luach réamhshocraithe an deighilteora
roghnaigh.
arrA.push(items) Iarcheanglaíonn eilimint amháin nó níos mó (mar a shonraítear
ag items) le deireadh an arrA agus tugann fad nua an eagair.
arrA.pop() Baineann an eilimint deiridh in arrA. Tugann an eilimint a
baineadh nó undefined sa chás go raibh an t-eagar folamh
arrA.shift() Baineann an chéad eilimint in arrA. Tugann an eilimint a
baineadh nó undefined sa chás go raibh an t-eagar folamh
arrA.unshift(items) Ionsánn eilimint amháin nó níos mó (mar a shonraítear ag
items) le tús arrA agus tugann fad nua an eagair.
arrA.sort() Sórtálann eilimintí an eagair ina n-áit agus tugann an t-eagar
sórtáilte (in ord aibítreach)
arrA.reverse() Sórtálann eilimintí an eagair ina n-áit agus tugann an t-eagar
sórtáilte (in ord aibítreach)
arrA.slice([i1, [i2])
Tugann eagar nua atá comhdhéanta d’eilimintí arrA ó i1 suas
go i2 ach gan i2 san áireamh. Sa chás nach sonraítear i1,
glactar leis gur nialas é; sa chás nach sonraítear i2, glactar leis
gur arrA.length é. Níl athrú ar inneachar an eagair bunaidh.
11 Brabhsáil chuig ceachtar den dá láithreán seo chun tagairt níos iomláine ar mhodhanna eagair a
fháil: https://www.w3schools.com/jsref/jsref_obj_array.asp https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
Web Development Skills – Part B - JavaScript 187
arrA.splice(i, [n,
[items]])
Cuireann/athchuireann/baineann eilimintí ó eagar i bhfeidhm. Is
é i an t-innéacs tosaigh, is é n an líon eilimintí atá le baint agus
is é items na heilimintí nua.
Tugann eagar nua le heilimintí ar bith a baineadh. (Sa chás
nach bhfuil eilimintí ar bith bainte, tugtar eagar folamh.)
Léiríonn an cód thíos an úsáid a bhaintear as roinnt de na modhanna a bhfuil cur síos díreach
déanta orthu.
push agus pop
Is féidir eilimintí a chur le heagar agus a bhaint de, ach na modhanna push agus pop a úsáid.
✔ Cuireann push eilimint amháin nó níos mó le deireadh eagair. Méadaíonn sé fad eagair faoin
líon luachanna a chuirtear leis.
✔ baineann pop an eilimint deiridh d’eagar. Laghdaíonn sé fad eagair faoi 1.
Bain triail as an méid seo a leanas:
let items = ["Bread", "Milk", "Tea"];
items.push("Butter", "Jam"); // cuir Butter agus Jam leis
items.pop(); // bain Jam
console.log(items); // taispeáin an t-eagar
An t-aschur mar thoradh air sin ná:
Mínigh an fáth nach gcuirtear ‘Jam’ san áireamh in aschur an eagair
items a thaispeántar thuas.
Cén chaoi a bhféadfaí Tea’ a bhaint sular gcuirfí ‘Butter’ agus‘ ‘Jam’
leis?
POINTE TÁBHACHTACH: Gairtear modhanna ach an t-oibreoir poinc a úsáid. Chun
modh m a ghairm ar eagar a, scríobhaimid a.m()
Web Development Skills – Part B - JavaScript 188
shift agus unshift
Is dhá mhodh eagair eile a bhaineann go dlúth le push agus pop iad shift agus unshift.
let items = ["Bread", "Milk", "Tea"];
items.shift(); // ??
console.log(items); // taispeáin an t-eagar
items.unshift(); // ??
console.log(items); // taispeáin an t-eagar
Bain triail as! Cuir isteach an cód thuas agus rith é. Bunaithe ar as aschur,
déan cur síos ar a ndéanann an dá mhodh, shift agus unshift.
concat, join, splice, sort agus reverse
Léirítear na modhanna sin sa ríomhchlár gearr.
let weekDays = ['Mon', 'Tue', 'Wed', 'Thur', 'Fri'];
let weekendDays = ['Sat', 'Sun'];
let daysOfWeek = weekDays.concat(weekendDays);
console.log(daysOfWeek.join());
console.log(daysOfWeek.slice(2));
console.log(daysOfWeek.slice(2,5));
console.log(weekendDays.concat(weekDays));
console.log(weekDays.sort());
console.log(weekendDays.reverse());
Taispeántar thíos an t-aschur a ghineann na ráitis console.log go léir. Ba cheart duit an cód a
léamh go cúramach agus iarracht a dhéanamh an chaoi a dtagtar ar an aschur sin a thuiscint.
Mon,Tue,Wed,Thur,Fri,Sat,Sun
["Wed","Thur","Fri","Sat","Sun"]
Web Development Skills – Part B - JavaScript 189
["Wed", "Thur", "Fri"]
["Sat","Sun","Mon","Tue","Wed","Thur","Fri"]
["Fri", "Mon", "Thur", "Tue", "Wed"]
["Sun", "Sat"]
Déan an t-aschur a ghinfidh an cód thíos a thuar.
let weekDays = ['Mon', 'Tue', 'Wed', 'Thur', 'Fri'];
let weekendDays = ['Sat', 'Sun'];
let daysOfWeek = weekendDays.concat(weekDays);
console.log(daysOfWeek.join());
console.log(daysOfWeek.slice(2));
console.log(daysOfWeek.slice(2,5));
console.log(weekDays.concat("Weekend"));
console.log(weekendDays.sort());
console.log(weekDays.reverse());
splice
I gcás eagair ar a dtugtar weekDays leis na luachanna ['Mon', 'Wed', ‘Thur']
weekDays.splice(1, 0, "Tue");
Ionsánn an líne seo 'Tue' ag suíomh innéacs 1
Déantar na heilimintí go léir ar dheis de shuíomh 1 (lena n-áirítear 'Wed') a bhrú síos san eagar
roimh an ionsá. Athraítear an t-eagar san ionad chun ['Mon', ‘Tue’ 'Wed', 'Thur'] a
dhéanamh de.
console.log(weekDays.splice(1, 0, "Tue"));
Web Development Skills – Part B - JavaScript 190
Taispeánann an líne seo an t-eagar folamh, [] mar gheall go dtugann splice eagar de na
heilimintí go léir a scriosann sé – ceann ar bith sa chás seo – i gcónaí.
weekDays.splice(1, 2);
Baineann an líne seo dhá eilimint ón eagar ag tosú ag suíomh innéacs 1. Athraítear an t-eagar
san ionad chun ['Mon'] a dhéanamh de agus tugtar eagar nua d’eilimintí scriosta ['Wed',
'Thur']
Próiseáil Eagair
Féach ar an gcód thíos.
let daysInMonths = [31,28,31,30,31,30,31,31,30,31,30,31];
for (let i=0; i < daysInMonths.length; i++)
console.log("Month %d has %d days", (i+1), daysInMonths[i]);
Taispeánann an cód an t-aschur a thaispeántar anseo ar
dheis.
Atriaileann an lúb for ar gach eilimint san eagar ach athróg
innéacs i a úsáid.
Túsaítear an t-innéacs go nialas agus cuirtear incrimint ar gach
atriall lúibe. Leantar leis an lúb fad is go mbíonn i níos lú ná
12, arb é fad an eagair é. Tá sé sin ceart go leor mar gheall
gur 11 é innéacs na heiliminte deiridh san eagar.
Taispeánann an corp lúibe líne aschuir amháin ar gach atriall.
Mar gheall go dtugann an ríomhchlár cuairt ar gach eilimint den eagar uair amháin, tugtar
trasnáil eagair ar an gcineál seo ríomhchláir. Is pátrún sách coitianta sa ríomhchlárúchán iad
trasnálacha eagair. Seo a leanas roinnt samplaí eile.
POINTE TÁBHACHTACH: Is éard is trasnáil eagair ann, patrún ríomhchlárúcháin
lena mbaineann atriall ar gach eilimint in eagar.
Web Development Skills – Part B - JavaScript 191
1. Trasnaíonn an ríomhchlár seo dhá eagar ag an am céanna
let daysInMonths = [31,28,31,30,31,30,31,31,30,31,30,31];
let months = ["Jan","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"];
for (let i=0; i < daysInMonths.length; i++)
console.log("%s has %d days\n", months[i], daysInMonths[i]);
Déan cur síos ar a ndéanann an ríomhchlár thuas.
2. Ríomhann an ríomhchlár seo meán uimhríochtúil gnéithe eagair
let ages = [18, 16, 18, 17, 19, 17];
let total = 0;
for (let i=0; i < ages.length; i++)
total = total + ages[i];
console.log("The mean age is %d", total/ages.length);
Cén chaoi a bhféadfaí an sannachán total = total + ages[i]; a
scríobh ar bhealach níos gonta?
An bhfuil an ríomh ceart, i do thuairim?
3. Trasnaíonn an ríomhchlár seo eagar chun an luach is uasta atá ann a aimsiú
let ages = [18, 16, 18, 17, 19, 17];
let max = 0;
for (let i=0; i < ages.length; i++) {
if (ages[i] > max)
max = ages[i];
}
console.log("The maximum age is %d", max);
Déan cur síos ar an gcaoi a n-oibríonn an ríomhchlár thuas.
Web Development Skills – Part B - JavaScript 192
An bhfuil gá leis na lúibíní slabhracha? Mínigh.
Web Development Skills – Part B - JavaScript 193
Eagair agus tagairtí eagair a chóipeáil
Cuir i gcás gur dhearbhaíomar agus gur thúsaíomar dhá eagar slánuimhreach – arr1 agus
arr2 – mar seo a leanas.
let arr1 = [1, 3, 5, 7, 9];
let arr2 = [];
D’fhéadfadh sé a bheith áisiúil smaoineamh ar an dá eagar agus an chuma seo a leanas orthu.
Is é arr1 an t-eagar corruimhreacha a thaispeántar ar chlé, agus is é arr2 an t-eagar folamh a
thaispeántar ar dheis.
Déanann an cód thíos inneachar arr1 a chóipeáil isteach in arr2.
for (let index = 0; index < arr1.length; index++) {
arr2[index] = arr1[index];
}
Déantar gach gné den arr1 a chóipeáil isteach sa suíomh comhfhreagrach le arr2. Léirítear
thíos na heagair atá mar thoradh air sin.
Web Development Skills – Part B - JavaScript 194
Tá sé tábhachtach a thabhairt faoi deara ón sampla roimhe seo gur cóip de arr1 é arr2. Is
comhstruchtúir ar leith iad an dá eagar agus mar sin is féidir a n-inneachar a athrú go
neamhspleách ar a chéile.
Is féidir codarsnacht a dhéanamh idir sin agus an cás ar tugadh aird air ar Líne 2 sa chód thíos
ina sanntar tagairt do arr1 don athróg arr2. Taispeántar an t-aschur ar dheis.
let arr1 = [1, 3, 5, 7, 9];
let arr2 = arr1;
console.log("BEFORE TRAVERSAL");
console.log("Array 1:", arr1);
console.log("Array 2:", arr2);
for (let i=0; i < arr1.length; i++) {
arr1[i]++;
}
console.log("AFTER TRAVERSAL");
console.log("Array 1:", arr1);
console.log("Array 2:", arr2);
Cód Aschur Léirítear éifeacht Líne 2 sa ghrafaic thíos.
Tagraíonn arr1 agus arr2 don eagar céanna
Aon athrú a dhéantar ar arr1, déantar ar arr2 é chomh maith. Trasnaíonn an lúb for ar arr1
agus cuirtear incrimint le gach eilimint ar an mbealach. Léirítear thíos staid an dá oibiacht eagair
i ndiaidh na lúibe for.
Is tagairt é arr2 do arr1 agus vice versa
Mínigh an chúis a bhfanfadh aschur an ríomhchláir thuas mar an
gcéanna sa chás go dtrasnódh an lúb arr2 (seachas arr1).
Web Development Skills – Part B - JavaScript 195
Web Development Skills – Part B - JavaScript 196
Eagair a sheachadadh chuig feidhmeanna
Nuair a sheachadtar eagar mar argóint chuig feidhm, is é an tagairt don eagar bunaidh a
sheachadtar, ní cóip den eagar. Dá bharr sin, maireann aon athrú a chuirtear ar eagair den sórt
sin laistigh den fheidhm nuair a thagann deireadh leis an bhfeidhm.
Léirítear é sin sa chód thíos, ina sainmhínítear feidhm ar a dtugtar incrementValues.: Cuireann
an fheidhm seo 1 le gach eilimint den eagar a sheachadtar isteach inti. Glaoitear ar an bhfeidhm
sa dara líne dheiridh i liostáil an chóid.
function incrementValues(arrayParam) {
console.log("incrementValues() called");
for (let i=0; i < arrayParam.length; i++) {
arrayParam[i]++;
}
console.log("incrementValues() ends");
} // end incrementValues()
let argArray = [1, 3, 5, 7, 9];
console.log("Array before call:", argArray);
incrementValues(argArray);
console.log("Array after call:", argArray);
An t-aschur seo a leanas atá mar thoradh ar an gcód.
Mar a fheictear, d’athraigh an fheidhm luach an argArray.
POINTE TÁBHACHTACH: Seachadtar eagair ach tagairt a dhéanamh
d’fheidhmeanna.
Web Development Skills – Part B - JavaScript 197
Cleachtaí ríomhchlárúcháin – Eagair
1 Scríobh líne chóid chun eagar a thúsú mar seo a leanas:
['spring', 'summer', 'autumn', 'winter']
2 Scríobh líne chóid chun eagar a thúsú le laethanta na seachtaine (i.e. 'Sunday' go dtí
'Saturday'). Tabhair weekDays ar d’eagar. Anois scríobh cód chun na gnéithe a thaispeáint:
a) weekdays[0]
b) weekdays[5]
c) weekdays[weekdays.length-1]
4. Scríobh líne chóid chun eagar a thúsú le hainmneacha an 12 mhí sa bhliain.
Scríobh líne chóid eile chun eagar a thúsú leis an líon laethanta i ngach mí (glac leis go
bhfuil 28 lá i bhFeabhra)
Anois, cuir an méid seo a leanas i bhfeidhm:
− tabhair leid don úsáideoir ainm míosa a iontráil
− cuardaigh innéacs na míosa a iontráladh ón eagar months
− déan rochtain ar an eilimint ag an innéacs seo ón eagar days
− taispeáin an líon laethanta sa mhí.
Mar shampla, sa chás gur iontráil an t-úsáideoir March, ba cheart don ríomhchlár an
teachtaireacht aschuir seo a thaispeáint – March has 31 days
5. Scríobh ríomhchlár chun 100 slánuimhir idir 1 agus 10 a ghintear go randamach a ghineadh
agus a stóráil in eagar
6. Scríobh ríomhchlár chun cúig luach ar leith a léamh isteach ó úsáideoir deiridh agus iad a
stóráil in eagar
7. Scríobh ríomhchlár chun na chéad 10 n-uimhir phríomha a aimsiú agus iad a stóráil in eagar
Web Development Skills – Part B - JavaScript 198
8. Scríobh ríomhchlár a chuireann inneachar dhá eagar leis agus a stórálann na torthaí i dtríú
heagar. Mar shampla, sa chás go dtúsófaí an dá eagar ionchuir mar seo a leanas:
let arrOfEvens = [2, 4, 6, 8, 10]
let arrOfOdds = [1, 3, 5, 7, 9]
Is éard a bheadh san eagar aschuir:
[3, 7, 11, 15, 19]
9. Scríobh ríomhchlár chun an luach is mó san eagar a thaispeántar thíos a aimsiú.
[18, 23, 16, 18, 23, 21, 15, 16, 23, 21]
Mionathraigh do ríomhchlár ionas go dtaispeánfaidh sé an líon uaireanta a tharlaíonn an
luach uasta.
10. Scríobh ríomhchlár chun meán uimhríochtúil, airmheán agus mód an eagair a thaispeántar
thíos a aimsiú.
[18, 23, 16, 18, 23, 21, 15, 16, 23, 21]
11. I gcás eagair daysOfWeek a fhógraítear mar seo a leanas:
let daysOfWeek = ['Sun', 'Mon', 'Tue', 'Wed', 'Thur', 'Fri', 'Sat'];
a) scríobh líne chóid chun an chéad eilimint agus an eilimint deiridh a bhaint, ach shift agus
pop faoi seach a úsáid. Ba cheart go mbeadh an chuma seo ar an eagar ar deireadh:
['Mon', 'Tue', 'Wed', 'Thur', 'Fri'];
b) scríobh líne chóid chun na heilimintí ‘Sat’ agus ‘Sun’ a bhrú chun deiridh
12. I gcás eagair suits a fhógraítear mar seo a leanas:
let suits = ['Hearts', 'Diamonds', 'Spades'];
Úsáid an modh splice chun an luach ‘Clubs’ a ionsá idir ‘Diamonds’ agus ‘Spades’ ionas go
n-athrófaí an t-eagar go: ['Hearts', 'Diamonds', 'Clubs', 'Spades'];
Web Development Skills – Part B - JavaScript 199
13. Ionsamhlaíonn an ríomhchlár Python a thaispeántar anseo cárta randamach á roghnú as
paca cártaí. (i.e. pioc cárta, cárta ar bith.)
a) Cuir an clár i bhfeidhm in JavaScript
b) Leathnaigh do ríomhchlár chun cúig chárta a roinnt ach gan cárta ar bith a roinnt níos
mó ná uair amháin. (Leid: beidh ort eagar nua a chruthú – tabhair hand air – agus gach
uair a ghintear cárta randamach, iarcheangail le hand é, sa chás nár roinneadh cheana
é agus sa chás sin amháin.)
14. Ceap agus scríobh ríomhchlár JavaScript lena chinneadh cibé an pangram é abairt a
iontrálann an t-úsáideoir. (Is éard is pangram ann abairt ina n-úsáidtear gach litir san aibítir
uair amháin ar a laghad.)
Leid: Cén chaoi a ndéanfá cód carachtar a mhapáil le hinnéacs eagair – an líon litreacha i
bpíosa téacs a chomhaireamh?
Web Development Skills – Part B - JavaScript 200
Déan machnamh ar na cleachtaí go léir sa rannán seo.
Tabhair le fios cén chaoi a bhféadfaí ceann ar bith de na cleachtaí seo a
oiriúnú le húsáid i rang Ríomheolaíocht na hArdteistiméireachta de do chuid
féin?
Web Development Skills – Part B - JavaScript 201
Web Development Skills – Part B - JavaScript 202
Feidhmeanna Is éard is feidhm ann grúpa ráiteas atá ceaptha tasc ar leith a dhéanamh. Is iad na feidhmeanna
na bloic thógála a úsáidtear chun ríomhchláir a chruthú. Tá siad tábhachtach mar gheall go
gcuireann siad ar chumas ríomhchláraitheoirí feidhmiúlacht áisiúil is féidir a ghairm i líne chóid
amháin a stóráil – an glao feidhme.
Comhréir Feidhme – feidhmeanna a shainiú agus glaoch orthu
Ní gá feidhm a shainiú ach uair amháin, ach is féidir glaoch uirthi arís agus arís eile. Gach uair a
ghlaoitear ar fheidhm, ritear na ráitis a chomhdhéanann an fheidhm. Ciallaíonn sé sin nach gá
do ríomhchláraitheoirí na línte céanna cóid a athscríobh gach uair a theastaíonn uathu go
ndéanfar tasc sonrach. Dá bharr sin, is féidir feidhmeanna a úsáid chun dúbailt chóid a
sheachaint.
Mar seo a leanas an chomhréir ghinearálta chun feidhm nua a shainiú:
function <function-name>([parameters]){
statement(s)
}
Tá an chéad líne san fheidhm tábhachtach mar gheall go bhfuil an fhaisnéis riachtanach inti a
theastaíonn ó ríomhchláraitheoirí eile chun an fheidhm a úsáid. Tugtar an síniú feidhme uirthi.
Tá an síniú comhdhéanta d’ainm na feidhme agus liosta paraiméadar roghnach is féidir a
sheachadadh isteach san fheidhm nuair a ghlaoitear uirthi.
An ríomhchláraitheoir a roghnaíonn ainm na feidhme. Is ionann na rialacha a bhaineann le
feidhmeanna a ainmniú agus na rialacha a bhaineann le hathróga a ainmniú.
POINTE TÁBHACHTACH: Is éard is feidhm ann píosa gearr in-athúsáidte cóid
a úsáidtear chun tasc ar leith a dhéanamh nuair a ghlaoitear uirthi.
Chomh luath agus a shainítear feidhm, ní theastaíonn ach líne amháin cóid chun í a úsáid. Is é
sin an glao feidhme. Is é seo an chuma a bhíonn ar fhoirm ghinearálta glao feidhme.
Web Development Skills – Part B - JavaScript 203
function([arguments]);
An rud cliste faoi fheidhmeanna ná chomh héasca is atá sé iad a úsáid. Féachaimis ar roinnt
samplaí.
Sampla 1
Sa chód thíos, tarraingítear bosca cearnógach ar an gconsól. Taispeántar an t-aschur ar dheis.
console.log("+------+");
console.log("| |");
console.log("| |");
console.log("+------+");
Cuir i gcás gur theastaigh uainn go dtarraingeodh ár ríomhchlár dhá bhosca chearnógacha –
bheadh orainn an cód a dhúbailt mar seo a leanas:
console.log("+------+");
console.log("| |");
console.log("| |");
console.log("+------+");
console.log("+------+");
console.log("| |");
console.log("| |");
console.log("+------+");
Gach uair is mian linn bosca cearnógach a tharraingt, beidh orainn an cód a dhúbailt –
d’fhéadfadh sé sin éirí casta. Is réiteach níos fearr é an cód a phacáil laistigh d’fheidhm mar a
thaispeántar thíos.
function drawBox() {
console.log("+------+");
console.log("| |");
console.log("| |");
console.log("+------+");
}
Web Development Skills – Part B - JavaScript 204
POINTE TÁBHACHTACH: Cuireann feidhmeanna bealach ar fáil do
ríomhchláraitheoirí chun feidhmiúlacht a phacáil agus a stóráil le húsáid in
áiteanna eile sa ríomhchlár.
Nuair a ritear an ríomhchlár sa sampla deiridh, tabharfaidh tú faoi deara go ndealraítear nach
dtarlaíonn dada. Go sonrach, ní thaispeántar an bosca a thuilleadh. Is amhlaidh sin mar gheall
nár glaodh ar an bhfeidhm – fós!
Chun glaoch ar an bhfeidhm, ní theastaíonn ach ráiteas amháin uainn – drawBox();
function drawBox() {
console.log("+------+");
console.log("| |");
console.log("| |");
console.log("+------+");
}
drawBox();
Mínítear séimeantaic an ghlao feidhme mar seo a leanas. Nuair a ghlaoitear ar an bhfeidhm,
léimeann an sreabhadh rialúcháin go dtí an chéad líne den fheidhm agus ritheann an clár ón
bpointe sin go dtí líne dheireanach na feidhme. Chomh luath agus a bhíonn an líne dheireanach
den fheidhm rite, léimeann an sreabhadh rialúcháin ar ais go dtí an pointe ónar glaodh ar an
bhfeidhm ar dtús.
Chomh luath agus a shainítear feidhm, is féidir glaoch uirthi áit ar bith sa chód. (In JavaScript, is
féidir glao feidhme a fheiceáil i gcód sula bhfeictear an sainmhíniú air.)
drawBox();
drawBox();
drawBox();
drawBox();
drawBox();
Web Development Skills – Part B - JavaScript 205
POINTE TÁBHACHTACH: Ritear an cód taobh istigh de chorp feidhme mar thoradh ar ghlao feidhme.
Sampla 2
Taispeántar sa sampla thíos sainmhíniú ar fheidhm ar a dtugtar displayRhyme – taispeántar
aschur an ríomhchláir ar dheis.
function displayRhyme() {
console.log("Jack loves to do his homework");
console.log("He never misses a day");
console.log("He even loves the men in white");
console.log("Who are taking him away");
}
displayRhyme(); // tabhair displayRhyme ar an
bhfeidhm
console.log(""); // taispeáin líne fholamh
displayRhyme();// tabhair displayRhyme ar an
bhfeidhm
Tabhair faoi deara go bhfeictear an rann faoi dhó san aschur. Is amhlaidh sin mar go nglaoitear
ar an bhfeidhm a thaispeánann an rann faoi dhó sa chód.
Nuair a ghlaoitear ar an bhfeidhm den chéad uair, aistrítear an sreabhadh rialúcháin go dtí an
fheidhm agus ritheann an clár in ord go dtí go sroichtear líne dheireanach chorp na feidhme. Ag
an bpointe seo, téann JavaScript siar go dtí an pointe sa chód inar glaodh ar an bhfeidhm. An
chéad líne eile le rith ná console.log(""); – chomh luath agus a ritear an líne sin, ritheann
JavaScript an líne dheireanach den ríomhchlár, arb é an dara glao ar displayRhyme.
Web Development Skills – Part B - JavaScript 206
Tabhair faoi deara sa chód thuas go dtaispeántar an t-ainm
céanna, i.e. Jack, i gcónaí inár rann. Is amhlaidh sin mar
gheall go bhfuil Jack cruachódaithe san fheidhm.
Nár dheas dá mbeimis in ann an rann a thaispeáint agus
ainmneacha éagsúla á n-úsáid againn? Dá mbeimis in ann a
insint don fheidhm cén t-ainm le taispeáint!
Is féidir é sin a dhéanamh ach paraiméadair agus argóintí a úsáid.
Paraiméadair agus Argóintí
Is cineál speisialta athróige é paraiméadar a fheictear mar chuid den síniú feidhme agus is féidir
a úsáid taobh istigh den chorp feidhme. Ceadaíonn paraiméadair do ríomhchláraitheoirí faisnéis
a sheachadadh isteach i bhfeidhm.
Cuirimis paraiméadar lenár sampla roimhe seo ionas go bhféadfaidh sé an rann a thaispeáint le
hainm duine ar bith ann – ní Jack agus eisean amháin!
function displayRhyme(personName) {
console.log(personName, "loves to do his homework");
console.log("He never misses a day");
console.log("He even loves the men in white");
console.log("Who are taking him away");
}
displayRhyme("James");
Tá an t-ainm James (ní Jack!) san
áireamh sa rann anois
Fógra ón gcód:
− an t-aitheantóir personName (aibhsithe i ndearg) idir lúibíní sa síniú feidhme ar an gcéad
líne. Sin sampla de pharaiméadar feidhme. Is éard is paraiméadar ann cineál speisialta
cineál athróige a thúsaítear nuair a ghlaoitear ar an bhfeidhm.
− an téacs James (aibhsithe i nglas) idir lúibíní mar chuid den ghlao feidhme ar an líne
dheireanach? Is argóint feidhme é sin. Seachadtar argóintí isteach i bhfeidhmeanna.
Web Development Skills – Part B - JavaScript 207
Sa sampla thuas seachadtar an teaghrán James isteach san fheidhm displayRhyme mar
argóint. Faightear an luach isteach san fheidhm ag an bparaiméadar personName.
POINTE TÁBHACHTACH: Is athróg é paraiméadar feidhme a fhaigheann a
luach ón argóint a sheachadtar isteach inti. Nuair a ghlaoitear ar fheidhm,
sanntar luach na hargóinte don pharaiméadar.
Is é an buntáiste a bhaineann le paraiméadair agus argóintí a úsáid go ndéanann siad
feidhmeanna i bhfad níos solúbtha. Is féidir an chaoi a n-oibríonn feidhm ag am rite a athrú ach
argóintí éagsúla a sheachadadh isteach inti. Léirítear an pointe sin ar an leathanach thíos, áit
arb iad na trí ghlao ar thaobh na láimhe clé is cúis leis an aschur a thaispeántar ar dheis.
function displayRhyme(personName) {
console.log(personName, "loves to do his homework");
console.log("He never misses a day");
console.log("He even loves the men in white");
console.log("Who are taking him away");
}
displayRhyme("James");
console.log("");
sdisplayRhyme("James");
console.log("");
displayRhyme("Fred");
console.log("");
Is é personName an paraiméadar agus is iad James, Joe agus Fred na trí argóint. Ag am rite,
sanntar an paraiméadar do gach argóint agus úsáidtear a luach san aschur.
Bain triail as! Cuir isteach an cód thuas agus rith é. Chomh luath agus a
bheidh cur amach agat ar a ndéanann sé, athraigh an cód ionas go mbeidh
an chuma thíos ar an aschur a thaispeántar.
Úsáid an spás thíos chun do pharaiméada(i)r agus d’argóint(í) a liostú.
Web Development Skills – Part B - JavaScript 208
POINTE TÁBHACHTACH: Go ginearálta, ba cheart duit an líon céanna argóintí
a sheachadadh isteach san fheidhm agus an líon paraiméadar a shonraítear sa
síniú feidhme.
Paraiméadair/argóintí iomadúla
Féadfaidh níos mó ná paraiméadar amháin a bheith ag feidhm. Breathnaigh ar an méid seo a
leanas:
function displayLyrics(line1, line2) {
console.log(line1);
console.log(line2);
}
displayLyrics("I read the news today", "Oh boy");
Nuair a ghlaoitear ar displayLyrics, seachadtar na hargóintí "I read the news today", agus
"Oh boy" isteach agus glacann dhá pharaiméadar leo, line1 agus line2 faoi seach. An
dtugann tú faoi deara go n-úsáidtear camóg chun paraiméadair (agus argóintí) a dheighilt óna
chéile?
Taispeántar an t-aschur seo a leanas ar an gconsól aschuir de bharr an ríomhchláir:
I read the news today
Oh boy
Glactar le paraiméadair isteach i bhfeidhm san ord a chuirtear na hargóintí ar fáil. Dá bharr sin,
dá malartófaí na hargóintí mar seo;
Web Development Skills – Part B - JavaScript 209
displayLyrics("Oh boy", "I read the news today");
thaispeánfaí an téacs thíos mar thoradh ar an bhfeidhm.
Oh boy
I read the news today
Bain triail as! Déan aschur an chóid thíos a thuar. Anois cuir an cód isteach
agus rith é. An raibh an tuar a rinne tú ceart? Céard a thug tú faoi deara?
function displayLines(line3, line1, line2) {
console.log(line1);
console.log(line2);
console.log(line3);
}
displayLines ("One", "Two", "Three");
Déan cur síos ar a bhfuil mícheart (má tá aon rud mícheart) le gach
ceann de na píosaí cóid seo a leanas agus tabhair breac-chuntas ar
réiteach i ngach cás (más cuí).
a)
function displayMessage() {
console.log(msg);
}
displayMessage("I am Sam");
b)
function displayMessage(msg) {
console.log(msg);
}
displayMessage();
c)
function displayMessage(msg) {
console.log(msg);
}
Web Development Skills – Part B - JavaScript 210
displayMessage("I am", "Sam");
d)
function displayMessage(msg) {
console.log(message);
}
displayMessage("I am Sam");
e)
function displayMessage(msg) {
console.log(msg);
}
displayMessage(I am Sam);
f)
function displayMessage(msg1, msg2) {
console.log(msg1);
}
displayMessage("I am", "Sam");
Déan staidéar ar an dá shainmhíniú ar fheidhmeanna a thaispeántar
thíos agus freagair an cheist ina ndiaidh.
function displayGreeting1(msg) {
console.log(msg);
}
function displayGreeting2(msg1, msg2) {
console.log(msg1);
console.log(msg2);
}
displayGreeting1 displayGreeting2
Luaigh a mbeifeá ag súil leis nuair a ritear gach ceann de na bloic chóid a thaispeántar ar
thaobh na láimhe clé thíos.
Bloc cóid Aschur ionchais
a) displayGreeting1("Good evening, Dave");
let str = "Good evening, Dave";
Web Development Skills – Part B - JavaScript 211
b) displayGreeting1(str);
c) let name = "Dave";
displayGreeting1("Good evening", name);
d) displayGreeting1("Good evening, Dave");
e) let name = "Dave";
displayGreeting2("Good evening", name);
f) let str = "Good evening, Dave";
displayGreeting2(str);
g) let sum = 2+3;
displayGreeting1(sum);
h) let sum = "2+3";
displayGreeting1(sum);
i) let sum = "2+3";
displayGreeting2(sum, 2+3);
j) displayGreeting2("2+3", "equals", "5");
Web Development Skills – Part B - JavaScript 212
Luachanna Aischurtha
Is féidir cuimhneamh ar fheidhmeanna mar mheaisíní beaga a ghlacann le hionchu(i)r agus a
tháirgeann aschu(i)r. Tagraítear do na ‘meaisíní feidhme’ seo mar ‘bhoscaí dubha’ uaireanta –
mar gheall gur cuma leis na ríomhchláraitheoirí a bhaineann úsáid astu faoina dtarlaíonn istigh
iontu, de ghnáth. Is é an t-aon rud atá ó na ríomhchláraitheoirí ná go ndéanfaidh an fheidhm an
jab atá sí ceaptha a dhéanamh. Léirítear thíos dearcadh an bhosca dhuibh sin ar
fheidhmeanna.
Dearcadh an ‘bhosca dhuibh’ ar fheidhm
Is eol dúinn cheana féin go mbaintear úsáid as argóintí agus as paraiméadair chun sonraí a
sheachadadh isteach i bhfeidhmeanna. Ach cén chaoi a seachadann feidhm sonraí ar bith a
ghineann sí ar ais chuig a glaoiteoir mar aschur? An freagra – luachanna aischurtha.
Smaoinigh ar chás ina dteastódh uainn suim euro a athrú agus luach aischurtha a ghiniúint a
dhéanfadh ionadaíocht ar an tsuim choibhéiseach in dollair SAM. Sa chód JavaScript a
thaispeántar thíos, sainmhínítear feidhm ar a dtugtar convert chun an jab a dhéanamh.
Faigheann an fheidhm dhá pharaiméadar – euroAmount agus rate. Is iad na hargóintí a
sheachadtar isteach san fheidhm, amount agus 1.13 faoi seach. (Léann an ríomhchlár an méid
ón úsáideoir deiridh agus baineann úsáid as ráta athraithe cruachódaithe de €1 = $1.13).
// Feidhm chun € a aistriú go $
function convert(euroAmount, rate) {
let dollar = amount * rate;
return dollar; // tabhair an méid aistrithe
}
// Tabhair leid don úsáideoir an méid a iontráil in
Euro
let amount = Number(prompt("Enter amount (€)"));
Web Development Skills – Part B - JavaScript 213
// Glaoigh ar convert agus sábháil an luach aischurtha in
dollarAmount
let dollarAmount = convert(amount, 1.13);
// Taispeáin an freagra
console.log("€"+amount+" is worth $"+dollarAmount);
Léirítear na hionchuir agus na haschuir lenár samhail ‘bosca dhuibh’ mar seo a leanas
POINTE TÁBHACHTACH: Is féidir luach aischurtha (return) feidhme a
shábháil le haghaidh tuilleadh próiseála ach an fheidhm a ghlaoch mar chuid
de ráiteas sannacháin.
Sampla
Athraíonn an fheidhm thíos mílte go ciliméadair (bunaithe ar 1 𝑚𝑖𝑙𝑒 = 1.6𝑘𝑚). An t-ionchur don
fheidhm ná an paraiméadar miles. An luach aischurtha atá ag an bhfeidhm ná kms. Is é seo
an t-aschur feidhme.
function miles2kms(miles) {
let kms = miles * 1.6;
return kms;
}
Glaonn an cód thíos ar an bhfeidhm a sheachadann 50 isteach mar argóint. (Is éard is aidhm
leis an líon ciliméadar i 50 míle a fháil amach.)
let kimometers = miles2kms(50);
console.log("There are "+kimometers+"kms in 50 miles");
Taispeánann an ríomhchlár an líne aschuir seo a leanas ar an gconsól aschuir.
Web Development Skills – Part B - JavaScript 214
There are 80kms in 50 miles
Is é kms aschur na feidhme. Sanntar an luach sin don athróg value. Chomh luath agus a
thagann deireadh le feidhm, scriostar a hathróga agus a paraiméadair go léir.
Bain triail as! Glacann an fheidhm a thaispeántar thíos (kms2miles) le luach
i gciliméadair mar ionchur agus ansin tugann an méid coibhéiseach i mílte
mar aschur (bunaithe ar 1 𝑘𝑚 = 0.62𝑚𝑖𝑙𝑒𝑠)
Scríobh líne chóid chun glaoch ar an bhfeidhm seo chun 80 ciliméadar a athrú go mílte agus
sábháil an t-aschur in athróg ar a dtugtar miles. Anois, scríobh an dara líne chun an luach
athraithe a thaispeáint i dteachtaireacht bhríoch. (An féidir leat an dá líne a chomhcheangal i
líne amháin?)
function kms2miles(kms) {
let miles = kms * 0.62;
return miles;
}
Anois, scríobh líne eile chóid chun glaoch ar an bhfeidhm a shainmhíníomar níos luaithe
(miles2kms). Úsáid miles (á thabhairt ar ais ag do ghlao ar kms2miles) mar an argóint. Céard
é do thoradh?
POINTE TÁBHACHTACH: Is éard is feidhm ann teibiú don tasc a dhéanann sí.
Breathnaigh ar an dá shainmhíniú feidhme do shuim thíos agus freagair
na ceisteanna ina ndiaidh:
function add1(n1, n2) {
return n1+n2;
}
function add2(n1, n2) {
let sum = n1+n2;
console.log(n1+"+"+n2+"="+sum);
}
Web Development Skills – Part B - JavaScript 215
Cén fheidhm is fearr, i do thuairim? Cén fáth? Scríobh líne chóid chun glaoch ar add1 – sábháil
do fhreagra in athróg e.g. answer. Anois déan iarracht an rud céanna a dhéanamh i gcás
add2. Cén fhadhb a thagann chun cinn?
Déan cur síos ar a bhfuil mícheart (má tá aon rud mícheart) le gach
ceann de na píosaí cóid seo a leanas agus tabhair breac-chuntas ar
réiteach i ngach cás (más cuí).
a)
function add(n1, n2) {
let sum = n1+n2;
return sum;
}
let result = add(8, 3);
console.log(sum);
b)
function add(n1, n2) {
let sum = n1+n2;
return;
}
let result = add(8, 3);
console.log(result);
c)
function add(n1, n2) {
let sum = n1+n2;
return sum;
}
let result = add(8, 3);
d)
function add(n1, n2) {
return(n1+n2);
}
Web Development Skills – Part B - JavaScript 216
console.log(add(8, 3));
e)
function add(n1, n2) {
let sum = n1+n2;
return sum;
}
let result = add(8, add(2,1));
console.log(result);
Web Development Skills – Part B - JavaScript 217
Feidhmeanna Boole
Is feidhm í feidhm Boole a thugann an toradh True nó False. De ghnáth, úsáidtear iad mar
theibiú ar chineál tástála éigin. Mar shampla, d’fhéadfaimis feidhm Boole a scríobh lena
chinneadh cibé an uimhir phríomha í uimhir faoi leith.
De réir an choinbhinsiúin tosaíonn ainm fheidhm Boole leis an réimír is. Tríd an gcoinbhinsiún
sin a úsáid, d’fhéadfaí isLeap a thabhairt ar fheidhm Boole lena chinneadh cibé an bliain
bhisigh nó nach bliain bhisigh atá i mbliain faoi leith. Ar an tslí chéanna, d’fhéadfaí isEven a
thabhairt ar fheidhm lena thástáil cibé an ré-uimhir atá in uimhir faoi leith agus isOdd a
thabhairt ar fheidhm lena thástáil an corruimhir atá in uimhir faoi leith. Taispeántar thíos cur i
bhfeidhm samplach den dá fheidhm sin agus an chaoi a n-úsáidtear iad chun gach ré-uimhir
agus corruimhir idir 0 agus 100, an dá uimhir sin san áireamh, a thaispeáint. (Tá an tástáil le
haghaidh ré-uimhreacha bunaithe ar oibríocht fuílligh ‘roinn ar 2’.)
// Feidhm chun ré-uimhreacha a dhearbhú
function isEven(number) {
if (number % 2 === 0)
return true;
else
return false;
}
for (let n=0; n<=100; n++) {
if (isEven(n))
console.log("");
}
// Feidhm chun corruimhreacha a
dhearbhú
function isOdd(number) {
if (number % 2 !== 0)
return true;
else
return false;
}
for (let n=0; n<=100; n++) {
if (isOdd(n))
console.log("");
}
isEven isOdd
Dúshlán!
Cuir na feidhmeanna Boole seo a leanas i bhfeidhm. Tástáil do chód ach sonraí a
iontráiltear via prompt a úsáid.
isLessThan(a, b) Feidhm a thugann true sa chás go bhfuil a níos lú ná b.
false seachas sin.
isGtREqual2(a, b) Feidhm a thugann true sa chás go bhfuil a níos mó ná nó
cothrom le b. false seachas sin.
isSpeeding(speed) Feidhm a thugann true sa chás go bhfuil luach speed níos
mó ná 120. false seachas sin.
Web Development Skills – Part B - JavaScript 218
isTeenager(age) Feidhm a thugann true sa chás go bhfuil luach age idir 13
agus 19, an dá luach sin san áireamh. false seachas sin.
isGoodMusic(artist)
Feidhm a thugann true sa chás go bhfuil luach artist mar
bhall d’eagar ina bhfuil ainmneacha na ceoltóirí ar fad is fearr leat. false seachas sin.
Cód a imchochlú i bhfeidhmeanna
Tugtar imchochlú ar an bpróiseas chun cód a thógáil agus a chur i bhfeidhmeanna.
Cuimhnigh ar an bhfadhb a bhí againn níos luaithe maidir leis an gceann uasta as trí uimhir a
chinneadh. Déanann an cód – a thaispeántar arís anseo ar mhaithe le caoithiúlacht – an ceann
is mó as trí uimhir a d’iontráil an t-úsáideoir a chinneadh agus a thaispeáint.
// uasluach as trí uimhir
let x1 = Number(prompt("Please enter 1st number: "));
let x2 = Number(prompt("Please enter 2nd number: "));
let x3 = Number(prompt("Please enter 3rd number: "));
let max;
if ((x1 >= x2) && (x1 >= x3)) {
max = x1;
} else if ((x2 >= x1) && (x2 >= x3)) {
max = x2;
} else {
max = x3;
}
console.log("The largest number you entered was", max);
Déanaimis iarracht an cód seo a imchochlú i bhfeidhm – chun é sin a dhéanamh beidh orainn
ainm, paraiméadar féideartha nó paraiméadair fhéideartha agus luach aischurtha féideartha a
chinneadh.
Is áisiúil na trí cheist seo a leanas a chur agus muid ag déanamh iarracht cód ar bith a
imchochlú trí fheidhmeanna a úsáid:
1) Céard a dhéanann an cód? Ainm maith don fheidhm a bheadh ansin.
Sa sampla seo, is é bunús an chóid an ceann uasta as trí uimhir a aimsiú, mar sin
tabharfaimid maxOf3 ar ár bhfeidhm.
2) Céard iad na hionchuir? Ba cheart go mbeadh paraiméadar le haghaidh gach ionchuir ag an
bhfeidhm.
Web Development Skills – Part B - JavaScript 219
Sa sampla seo, is iad na trí uimhir na hionchuir – beidh paraiméadar amháin le haghaidh
gach ionchur againn – x1, x2 agus x3.
3) Céard é an t-aschur? Luach aischurtha na feidhme a bheidh anseo.
Níl ach aschur amháin againn i.e. an ceann uasta as na 3 uimhir.
POINTE TÁBHACHTACH: Is príomhscil don ríomhchláraitheoir é an cumas
paraiméadair feidhme agus, más gá, luach aischurtha a shainaithint.
Is féidir a fheiceáil ón gcód thíos go bhfuil an cód chun an ceann is mó as trí uimhir a aimsiú
imchochlaithe san fheidhm maxOf3 (aibhsithe i ndath níos dorcha).
Tabhair faoi deara nach cuid den fheidhm iad na chéad trí líne a úsáidtear chun na
huimhreacha a léamh ón úsáideoir deiridh, ná an líne dheireanach a úsáidtear chun an toradh a
thaispeáint. Is gnáth-nósmhaireacht an deighilt sin idir ionchur agus aschur ó loighic feidhme in
imchochlú cóid.
// Léigh na 3 shlánuimhir ón úsáideoir deiridh
let x1 = Number(prompt("Please enter 1st number: "));
let x2 = Number(prompt("Please enter 2nd number: "));
let x3 = Number(prompt("Please enter 3rd number: "));
function maxOf3(x1, x2, x3) {
if ((x1 >= x2) && (x1 >= x3)) {
max = x1;
} else if ((x2 >= x1) && (x2 >= x3)) {
max = x2;
} else {
max = x3;
}
return max;
}
// Taispeáin an t-aschur
console.log("The maximum number is", maxOf3(x1, x2, x3));
Tá an cód a-chosúil leis an liostáil a thaispeántar ar an leathanach roimhe seo. Mar sin féin, ós
rud é gur taifeadadh an fheidhmiúlacht chun an ceann uasta as trí uimhir laistigh d’fheidhm a
fháil, d’fhéadfaí í a úsáid áit ar bith eile sa chóras níos leithne.
Web Development Skills – Part B - JavaScript 220
Ar deireadh, is fiú a lua, ar mhaithe le soiléire, nach gá go mbeadh na hainmneacha céanna ar
na hargóintí agus ar na paraiméadair (mar a thaispeántar thuas).
Web Development Skills – Part B - JavaScript 221
Cleachtaí ríomhchlárúcháin – Feidhmeanna
1. Ríomhann agus taispeánann an dá ríomhchlár ghearra a thaispeántar anseo 5! (i.e.
5 × 4 × 3 × 2 × 1) Baineann siad araon úsáid as an modh céanna, is é sin atriall trí na
slánuimhreacha ó 5 síos go 1 agus iomlán reatha de na torthaí a choimeád agus sin á
dhéanamh acu. An t-aon difríocht atá ann ná go n-úsáideann an ríomhchlár ar chlé lúb for
agus go n-úsáideann an ríomhchlár ar dheis lúb while.
Déan an cód ó cheachtar den dá chur i bhfeidhm a imchochlú i bhfeidhm ar a dtugtar
factorial (iolrán). Ba cheart don fheidhm glacadh le paraiméadar aonair agus a iolrán a
thabhairt.
// ríomh n! (e.g. 5x4x3x2x1)
let factorial = 1;
let n = 5;
for (let number = n; number > 0; number--) {
factorial = factorial * number;
}
console.log(n+"! =", factorial);
// ríomh n! (e.g. 5x4x3x2x1)
let factorial = 1;
let n = 5;
let number = n;
while (number > 0) {
factorial = factorial * number;
number--;
}
console.log(n+"! =", factorial);
Iolrán le lúb for Iolrán le lúb while
2. Úsáideann an ríomhchlár seo a leanas lúb for chun gach carachtar i dteaghrán a
iontrálann an t-úsáideoir a thrasnú, agus comhaireann na gutaí lena linn. Déan an cód a
imchochlú i bhfeidhm.
// tabhair leid don úsáideoir teaghrán a iontráil
let inString = prompt("Enter a string:");
let vowels = 0;
let ch;
for(let i = 0; i < inString.length; i ++) {
// Bain amach an chéad charachtar eile (as suíomh i) ...
// ... agus athraigh é go cás uachtair
ch = inString.charAt(i).toUpperCase();
// sa chás gur ghuta é ch, cuir incrimintí leis an áiritheoir gutaí
if (ch == 'A' || ch == 'E' || ch == 'I' || ch == 'O' || ch == 'U')
vowels ++;
}
Web Development Skills – Part B - JavaScript 222
// taispeáin an toradh
console.log("The number of vowels found was", vowels);
3. Is slánuimhir dhearfach í uimhir phríomha ag a bhfuil dhá fhachtóir: í féin agus 1. Tugann an
ríomhchlár gearr thíos leid don úsáideoir slánuimhir dhearfach a iontráil agus cuireann
algartam i bhfeidhm lena fháil amach cibé an uimhir phríomha atá i gceist nó nach ea.
Tá an athróg Boole ar a dtugtar prime riachtanach chun loighic an ríomhchláir a thuiscint.
Is é an cuspóir atá ag prime a chur in iúl cibé an uimhir phríomha atá sa tslánuimhir nó
nach ea. Tugann luach true ag deireadh an ríomhchláir le tuiscint gur uimhir phríomha atá
sa tslánuimhir; tugann false le tuiscint nach ea.
let x = Number(prompt("Please enter an integer: "));
let prime;
if (x <= 0)
prime = false;
else
prime = true;
if (x > 2) {
let denominator = 2;
while (denominator <= Math.sqrt(x)) {
if (x % denominator === 0) {
prime = false;
break;
} else {
denominator++;
} // end else
} // end while
} // end if
Ar dtús, socraítear prime mar false, sa
chás gur diúltach an luach a iontráladh (mar
gheall nach féidir le huimhreacha diúltacha
a bheith ina n-uimhreacha príomha). Sa
chás gur dearfach an tslánuimhir, túsaítear
an luach prime mar true.
Ciallaíonn sin go nglacann an algartam in
úsáid gur uimhir phríomha í an slánuimhir
agus déanann sé iarracht an tuairim sin a
bhréagnú (trí bhreathnú ar a fachtóirí).
if (prime)
console.log(x+" is prime");
else
console.log(x+" is NOT prime");
Déan an cód thuas a imchochlú i bhfeidhm ar a dtugtar isPrime(x). Léirítear an t-iompar sin
sa sampla seo a leanas ina nglaoitear ar an bhfeidhm.
isPrime(13) --> true (mar gheall gur uimhir phríomha é 13)
isPrime(10) --> false (mar gheall nach uimhir phríomha é 10)
Nuair a éiríonn leat isPrime a chur i bhfeidhm go hiomlán, ba cheart duit iarracht a dhéanamh
na tascanna breise seo a chur i gcrích:
Web Development Skills – Part B - JavaScript 223
a) Úsáid an fheidhm isPrime chun gach uimhir phríomha idir 2 agus 100, an dá uimhir sin
san áireamh, a thaispeáint.
b) Úsáid an fheidhm isPrime chun an líon uimhreacha príomha idir 2 agus 1000 a
thaispeáint.
c) Úsáid isPrime chun an chéad 50 uimhir phríomha a thaispeáint.
4. Sainmhíniú feidhm chun achar triantáin a ríomh
leis an bhfoirmle seo:
𝑎𝑟𝑒𝑎 =1
2× 𝑏 × ℎ
Úsáid an fheidhm seo chun achair na dtriantán a
thaispeántar thíos a ríomh:
Web Development Skills – Part B - JavaScript 224
5. Léiríonn an íomhá ar thaobh na láimhe deise
luachanna Fahrenheit le haghaidh rogha luachanna
Celsius.
Úsáid an fhoirmle thíos le hathrú idir an dá scála, agus
scríobh ríomhchlár is féidir a úsáid chun cruinneas na
luachanna a thaispeántar a fhíorú.
𝑓 =9
5𝑐 + 32
𝑐 = (𝑓 − 32) ×
5
9
Beidh dhá fheidhm sa ríomhchlár, iad ainmnithe agus
sainmhínithe mar seo a leanas:
fhar2Cent – feidhm a ghlacann le luach Fahrenheit agus
a thugann a chomhionann in Celsius agus
cent2Fhar – feidhm a ghlacann le luach Celsius agus a
thugann a chomhionann in Fahrenheit
6. Scríobh ríomhchlár a thugann leid don úsáideoir líon laethanta a iontráil agus a ríomhann an
líon nóiméad sa líon sin laethanta ansin.
a) leathnaigh an ríomhchlár atá díreach scríofa agat le go dtabharfaidh sé leid maidir le líon
uaireanta chomh maith le líon laethanta.
Déan machnamh ar na cleachtaí go léir sa rannán seo.
Tabhair le fios cén chaoi a bhféadfaí ceann ar bith de na cleachtaí seo a
oiriúnú le húsáid i rang Ríomheolaíocht na hArdteistiméireachta de do chuid
féin?
Web Development Skills – Part B - JavaScript 225
Web Development Skills – Part B - JavaScript 226
GNÍOMHAÍOCHT AR LEITHLIGH 1
Foghlaim Ríomhchuidithe12
Tá an ról atá ag Teagasc Ríomhchuidithe san oideachas ag méadú i gcónaí. Sa ghníomhaíocht
seo, tá ort feidhmchlár JavaScript a scríobh a chabhróidh le daltaí bunscoile uimhríocht a
fhoghlaim. Tugaimid Foghlaim Ríomhchuidithe, nó an giorrúchán i mBéarla, CAL (Computer
Aided Learning), ar an bhfeidhmchlár.
Cuirtear ríomhchlár ar fáil duit (féach ar an liostáil ar an gcéad leathanach eile) agus beidh ort é
a leasú chun an réiteach atá ag teastáil a fhorbairt.
Nuair a ritear é, taispeánann an ríomhchlár fuinneog aníos a iarrann ar an úsáideoir freagra a
iontráil ar fhadhb shimplí suimithe lena mbaineann dhá shlánuimhir aon digite idir 0 agus 9, an
dá uimhir sin san áireamh, a roghnaítear go randamach. Mar shampla,
Clóscríobhann an t-úsáideoir a fhreagra agus cliceálann ar OK. Má tá an freagra ceart,
taispeánann an ríomhchlár teachtaireacht spreagúil i bhfuinneog aníos nua cosúil leis an
gceann a thaispeántar thíos. Roghnaítear an teachtaireacht a thaispeántar go randamach ón
liosta (eagar) teaghrán seo a leanas:
− Well done!
− Very good!
− Correct!
− Keep it up!
− Nice work!
12 Oiriúnaithe ó fhadhb in Java: how to program, P.J. Deitel, H.M. Deitel, 9th ed., Prentice Hall, 2012
Web Development Skills – Part B - JavaScript 227
Má tá an freagra mícheart, taispeánann an ríomhchlár an teachtaireacht, Wrong answer. Try
again arís agus arís eile go dtí go n-iontrálann an dalta an freagra ceart.
Web Development Skills – Part B - JavaScript 228
Taispeántar thíos an liostáil ríomhchláir a chuirtear ar fáil duit.
// CÉIM 1. Gin an cheist
// Gin 2 uimhir randamacha
let n1 = Math.floor(Math.random() * 10); // 0 <= n1 < 10
let n2 = Math.floor(Math.random() * 10); // 0 <= n2 < 10
// CÉIM 2. Cuir ceist ar an úsáideoir agus faigh freagra
// athraítear n1 agus n2 go teaghráin ionas gur féidir iad a thaispeáint mar chuid ...
// ... den teaghrán leide
let problemInWords = "What is "+ String(n1) + " plus " + String(n2);
console.log(problemInWords);
let userResponse = Number(prompt(problemInWords));
console.log("User entered %d", userResponse); // is chun críocha dífhabhtaithe sin
// CÉIM 3: Déan an freagra a phróiseáil
// Déan an freagra ceart a ríomh. Ansin...
// ... fad is go mbíonn freagra an úsáideora difriúil le freagra an ríomhaire ...
// ... inis don úsáideoir go bhfuil siad mícheart agus ...
// ... iarr freagra eile ar an úsáideoir
let correctAnswer = n1 + n2; // Déan an freagra ceart a ríomh
while (userResponse != correctAnswer) {
console.log("Wrong answer! Try again.");
userResponse = Number(prompt(problemInWords));
}
// CÉIM 4. Taispeáin teachtaireacht spreagúil a roghnaítear go randamach
const messages = ["Well done!", "Very good!", "Correct!", "Keep it up!", "Nice work!"];
const r = Math.floor(Math.random() * messages.length);
console.log(messages[r]);
alert(messages[r]);
Déan staidéar ar an ríomhchlár thuas go cúramach sula mbaineann tú triail as – úsáid an spás
thíos chun machnamh a dhéanamh ar an gcód. Léirigh go dtuigeann tú an cód ach na
ceisteanna ar an gcéad leathanach eile a fhreagairt. Nuair atá tú sásta go dtuigeann tú an chaoi
a n-oibríonn an cód, féadfaidh tú dul ar aghaidh agus na mionathruithe a leagtar amach sa
rannóg riachtanas den ghníomhaíocht seo a dhéanamh.
Déan machnamh ar an gcaoi a n-úsáidtear JavaScript sa ríomhchlár thuas.
Web Development Skills – Part B - JavaScript 229
Úsáid an spás thíos chun gach ceann de na ceisteanna seo a leanas a
fhreagairt sula dtéann tú ar aghaidh chuig an rannóg riachtanas.
1. Cén chaoi a ngineann an ríomhchlár an dá shlánuimhir le húsáid sa ‘sum’? Céard iad
na céimeanna a ghlactar lena chinntiú go bhfuil na slánuimhreacha idir 0 agus 9, an
dá uimhir sin san áireamh?
2. Cén chaoi a bhfuil a fhios ag an ríomhaire céard é an freagra ceart ar an ‘sum’?
3. Mínigh an chaoi a ngníomhaíonn an t-oibreoir + ar bhealach difriúil nuair is teaghrán a
chuid oibreanna seachas nuair is de chineál uimhriúil iad. (Céard a tharlódh sa chás
go ndéanfá iarracht teaghrán a chur le slánuimhir?)
4. Cén chaoi a roghnaíonn an ríomhchlár teachtaireacht le taispeáint sa chás go mbíonn
an freagra ceart ag an úsáideoir?
5. Sainaithin agus luaigh cuspóir gach athróige – tá seacht gcinn ann!
Web Development Skills – Part B - JavaScript 230
Web Development Skills – Part B - JavaScript 231
Riachtanais
1. Athraigh an chaoi a dtaispeántar an cheist ionas le go n-úsáidfidh sí siombail an oibreora
seachas focail. Mar shampla, taispeáin 4 + 2 seachas an téacs 4 plus 2.
2. Níl aon straitéis scoir ag an gcur i bhfeidhm reatha i.e. níl aon bhealach ag an úsáideoir a
insint don chóras nach bhfuil an freagra ar eolas aige. (Taispeánann sé an teachtaireacht,
Wrong answer. Try again arís agus arís eile go dtí go n-iontráiltear an freagra ceart.)
Mionathraigh iompar an ríomhchláir le go nglactar leis go gciallaíonn luach diúltach mar fhreagra
nach bhfuil freagra na ceiste ar eolas ag an úsáideoir. Nuair a iontráiltear luach diúltach, ba
cheart go dtiocfadh deireadh leis an ríomhchlár.
3. Mionathraigh an ríomhchlár le go roghnófar freagairtí ar fhreagra mícheart go randamach ón
liosta teachtaireachtaí thíos. Ba cheart go dtaispeánfaí an teachtaireacht i mbosca foláirimh
cosúil leis an gceann a thaispeántar thíos, agus ar an gconsól freisin.
− No. Please try again
− Wrong. Try once more
− Don’t give up
− No. Keep trying.
− Incorrect!
4. Coimrigh an cód a roghnaíonn agus a thaispeánann an teachtaireacht freagartha – chun
freagra ceart nó mícheart a chur in iúl – isteach i bhfeidhm amháin.
Leid: Sainmhínigh an fheidhm a thugann an síniú seo a leanas – messages, an t-eagar
teachtaireachtaí freagartha as a roghnaíonn an fheidhm.
function displayRandomMsg(messages)
Beidh ort dhá eagar uilíocha a fhógairt – ceann amháin do na freagraí dearfacha agus
ceann eile do na freagraí diúltacha. Taispeánann an líne thíos fógra i bpáirt maidir leis an
gcéad cheann.
const correctMsgs = ["Well done!", "Very good!"
Is féidir an t-eagar cuí a sheachadadh mar argóint isteach san fheidhm mar chuid den chód
Web Development Skills – Part B - JavaScript 232
chun glaoch uirthi. (Ní mór duit a dhéanamh amach cá háit as a nglaofar uirthi!)
5. Mionathraigh iompar an ríomhchláir ionas go dtabharfar rogha don úsáideoir leanúint ar
aghaidh (nó éirí as) i.e. Continue [Y/N] nuair a iontrálann an t-úsáideoir an freagra ceart
(féach ar an seat den scáileán). Ba cheart go leanfaí leis an bpróiseáil fad is go n-iontrálann
an t-úsáideoir ‘y’ nó ‘Y’.
Leid: seans go gcabhródh sé an cód a dhéanamh modúlach trí fheidhmeanna a shainmhíniú chun
an cheist a ghiniúint, freagra an úsáideora a fháil agus an freagra a phróiseáil. Ba cheart go
mbeadh an chuma seo a leanas, a bheag nó a mhór, ar phríomhlúb an ríomhchláir ar
deireadh:
let keepGoing = true;
while (keepGoing) {
generateQuestion();
getResponse();
processResponse();
let yesNo = prompt("Continue [Y/N]");
keepGoing = yesNo.toUpperCase() == "Y" ? true : false;
}
6. Cuir rogha leis chun deis a thabhairt don úsáideoir leibhéal deacrachta a roghnú (1 nó 2)
nuair a chuirtear tús leis an ríomhchlár den chéad uair. Má iontrálann an t-úsáideoir 1, bain
mar chiall as sin nár cheart go mbeadh ach slánuimhreacha aon digite idir 0 agus 9, an dá
uimhir sin san áireamh, i bhfadhbanna. Má iontrálann an t-úsáideoir 2, ba cheart don
fheidhmchlár fadhbanna dédhigiteacha a ghiniúint (i.e. fadhbanna a bhaineann le dhá
shlánuimhir sa raon 10 go 99, an dá uimhir sin san áireamh). Féadfaidh tú na sonraí sin a
bhailíochtú, más mian leat.
Web Development Skills – Part B - JavaScript 233
Leid: Beidh ort generateQuestion a mhionathrú chun craobh a chur ann don leibhéal deacrachta.
Gineann an cód thíos uimhir randamach idir 10 agus 99, an dá uimhir sin san áireamh.
Math.floor(Math.random() * 90) + 10;
7. Cuir rogha leis sin chun deis a thabhairt don úsáideoir an oibríocht uimhríochta is mian leis
a úsáid le linn a sheisiúin a roghnú. Bain úsáid as an ionchódú seo a leanas: is suimiú é ‘+’;
is dealú é ‘-’; is iolrú é ‘*’ agus is ‘/’ é roinnt;
Ar dtús, d’fhéadfá cinneadh a dhéanamh an rogha sin a thabhairt uair amháin, ag an tús. Níos
déanaí, d’fhéadfá smaoineamh ar an rogha sin a thabhairt do gach ceist. D’fhéadfá
smaoineamh ar rogha eile a chur leis freisin, maidir le ‘mixed bag’.
8. Cuir gné staitisticí leis chun taifead a choinneáil ar an líon freagraí cearta agus míchearta
agus chun iad a thaispeáint. Beidh ort smaoineamh ar cibé ar cheart nó nár cheart na
staitisticí sin a thaispeáint don úsáideoir deiridh. Seans gur mhian leat taifead a choinneáil
ar shonraí staitistiúla eile a bheadh cabhrach don úsáideoir deiridh freisin.
Tugtar na réitigh ar gach cleachtadh san Aguisín.
Tá na ceisteanna thíos ceaptha smaointe a spreagadh maidir le feabhsúcháin a d’fhéadfaí a
dhéanamh ar CAL am éigin sa todhchaí.
1) Cén chaoi a ndéileálann córas le slánuimhir níos mó a dhealú ó cheann níos lú?
2) An féidir leat straitéis scoir eile a cheapadh?
3) An bhfuil na sonraí go léir bailíochtaithe?
4) An bhféadfadh an córas an leibhéal deacrachta a roghnú go randamach agus go
huathoibríoch?
Web Development Skills – Part B - JavaScript 234
5) An mbeadh oibríochtaí lena mbainfeadh meascán d’oibreanna aon digite agus
dédhigiteacha indéanta?
6) An bhféadfadh an córas tacú le hoibríochtaí de chineál ar bith eile?
7) An bhféadfadh an córas an cineál oibríochta do gach ceist a roghnú go randamach agus go
huathoibríoch?
8) Cén chuma a bheadh ar an gcóras mar leathanach gréasáin HTML/CSS? Sceitseáil é.
Web Development Skills – Part B - JavaScript 235
Déan machnamh ar CAL agus ar na cleachtaí atá díreach déanta sa seisiún
ar leithligh seo.
Díríonn CAL go mór ar uimhríocht luathchéime – an féidir leat moladh a
thabhairt faoin gcaoi a bhféadfaí CAL a chur in oiriúint chun cabhrú le
foghlaim i réimsí ábhar eile? Pléigh. Céard iad na himpleachtaí don
dearadh?
Web Development Skills – Part B - JavaScript 236
JavaScript Taoibh Cliaint
Go dtí seo sa chuid seo den lámhleabhar, dhíríomar ar na príomhghnéithe in JavaScript a
úsáidtear chun tacú le seicheamh, roghnú agus atriall. Cuirtear na gnéithe sin le chéile chun an
rud ar a dtugtar core JavaScript a chruthú. Cé go bhfuil an core JavaScript tábhachtach, ní
thugann sé ach léargas teoranta ar an teanga.
Ní thagann fíorchumhacht agus fíorchuspóir JavaScript chun tosaigh go dtí go n-úsáidtear é
chun leathanaigh ghréasáin agus suíomhanna gréasáin dinimiciúla agus idirghníomhacha a
chruthú. Baintear úsáid as an téarma JavaScript Taoibh Cliaint chun cur síos a dhéanamh ar na
gnéithe de JavaScript a fhágann gur féidir na suíomhanna gréasáin sin a cheapadh.
Sa chuid seo den lámhleabhar, fiosróimid JavaScript taoibh cliaint ach sula dtosaímid, tugaimis
soiléiriú ar a bhfuil i gceist leis an dá théarma leathanach gréasáin dinimiciúil agus leathanach
gréasáin idirghníomhach.
- Is éard is leathanach dinimiciúil ann (seachas ceann statach), leathanach ar féidir a
inneachar agus an chuma atá air a athrú agus é in úsáid. Bíonn roinnt leathanach ar a bhfuil
inneachar dinimiciúil i bhformhór mór na suíomhanna gréasáin nua-aimseartha. Ciallaíonn
sé sin go bhféadfadh go mbeadh inneachar difriúil ar an leathanach céanna gach uair a
thugann tú cuairt air; nó d’fhéadfadh go n-athródh an t-inneachar agus tú ag féachaint ar
leathanach.
- Is ionann suíomh gréasáin idirghníomhach agus ceann a thacaíonn le hidirghníomhaíocht
úsáideoirí e.g. cluiche a imirt, táirge a roghnú lena cheannach nó sonraí a iontráil agus a
chur isteach, amhail téarma cuardaigh, sonraí cárta creidmheasa, nó íomhá a uaslódáil ar
Instagram nó Facebook.
Is féidir suíomhanna gréasáin dinimiciúla agus idirghníomhacha a chruthú a bhuíochas do dhá
theicneolaíocht – DOM agus imeachtaí. Sa chuid eile den rannóg seo, fiosraítear tacaíocht
JavaScript taoibh cliaint don dá theicneolaíocht.
Web Development Skills – Part B - JavaScript 237
Leathanaigh ghréasáin dhinimiciúla – roinnt samplaí
An bealach is simplí chun inneachar dinimiciúil a chur isteach i leathanach gréasáin ó
ríomhchlár JavaScript ná trí document.write a úsáid. Díreach clóscríobh an ráiteas agus
seachaid é isteach sa teaghrán is mian leat a fheiceáil ar an leathanach gréasáin mar argóint.
Léiríonn na samplaí thíos document.write á úsáid chun an t-inneachar ar leathanach
gréasáin dinimiciúil a chruthú. Taispeántar cód JavaScript ar chlé agus taispeántar seat
scáileáin den leathanach gréasáin atá mar thoradh air ar dheis.
document.write("Hello World");
Léiríonn an chéad sampla eile gur féidir cód HTML a sheachadadh isteach in
document.write. Is é an chlib <br> is cúis le líne nua á léiriú i bhfuinneog an bhrabhsálaí
sula dtaispeántar an dara teaghrán.
document.write("Hello World<br>");
document.write("Hello World");
Sa sampla seo, feicimid go bhfuil an téacs marcáilte mar cheannteideal leibhéal 1 leis an gclib
h1
document.write("<h1>Hello World</h1>");
Web Development Skills – Part B - JavaScript 238
Sa chéad sampla eile, tugtar leid don úsáideoir a ainm a iontráil agus taispeántar teachtaireacht
le beannú pearsanta. Déantar an t-ainm a iontráiltear a mharcáil i gcló trom.
let userName = prompt("Enter your name");
document.write("Hello <b>" + userName + "</b>");
Sa chéad sampla eile, baintear úsáid as feidhm a shainmhíníonn an t-úsáideoir, ar a dtugtar
getTimeMsg chun
teachtaireacht a ghiniúint le beannú difriúil ann, ag brath ar an am reatha. Léitear an t-am
reatha ón gcóras ach úsáid a bhaint as Date().
Áirítear an cód JavaScript mar chomhad seachtrach ar a dtugtar greeting.js trí é a ainmniú
sa tréith src den chlib script ar an leathanach HTML mar seo a leanas.
<!DOCTYPE html>
<html>
<head>
<title>Time greeting</title>
<script src="greeting.js"></script>
</head>
</html>
Is mar seo a leanas an liostáil do greeting.js:
let timeMsg = "The current date and time is" + Date() + "<br><br>";
document.write(timeMsg);
let greeting = getTimeMsg();
document.write(greeting);
function getTimeMsg() {
let msg;
const time = new Date().getHours();
if (time < 6) {
msg = "Before 6am";
} else if (time < 12) {
msg = "Good morning";
} else if (time < 18) {
msg = "Good afternoon";
} else {
msg = "Good evening";
}
Web Development Skills – Part B - JavaScript 239
return msg;
}
Nuair a ritear an ríomhchlár, ba cheart go dtaispeánfadh do bhrabhsálaí teachtaireacht a bhfuil
beannú inti, cosúil leis seo:
Dúshlán!
Mionathraigh an cód ionas go dtaispeántar an teachtaireacht ‘Good night’ i
ndiaidh a 10pm.
Web Development Skills – Part B - JavaScript 240
An Samhaltán Oibiachta Doiciméid (DOM)
Luadh cheana féin go meastar gur droch-chleachtadh ríomhchlárúcháin é document.write a
úsáid. An phríomhchúis leis sin ná, nuair a ghlaonn ríomhchlár ar document.write tar éis don
leathanach gréasáin a bheith lódáilte, go ndéanfar an leathanach iomlán a fhorscríobh.
Dá bharr sin, cén chaoi a bhféadfaidh ríomhchláraitheoirí inneachar dinimiciúil a chur i
leathanach gréasáin murar cheart dóibh document.write a úsáid? Freagra na ceiste sin ná
an Samhaltán Oibiachta Doiciméid, nó DOM (as Document Object Model) mar a thugtar air mar
ghiorrúchán.
Chun DOM a thuiscint, ní mór a bheith soiléir faoi amharc (nó dearcadh) HTML agus faoi
amharc an úsáideora deiridh ar an leathanach gréasáin céanna. Breathnóimid ar an amharc
HTML ar dtús.
Amharc HTML
Is é seo an t-amharc a bhíonn ag an údar HTML/CSS ar leathanach gréasáin. Is léiriú ar
chomhad nó doiciméad HTML é gach leathanach gréasáin. Ní mór an comhad HTML/CSS a
athrú chun inneachar/stíl leathanaigh a athrú.
Taispeántar sampla de chomhad HTML thíos.
<!DOCTYPE html>
<html>
<head>
<title>Simple DOM Tree</title>
</head>
<body id="body-id">
<h1>Level 1 heading</h1>
<ul>
<li>Hats</li>
<li>Flags</li>
<li>Scarves</li>
<li>Headbands</li>
</ul>
<h2>Level 2 heading</h2>
<p id="para-id">An ordinary paragraph ...</p>
<br>
<p>This <b>bold <i>and italic</i></b> text</p>
<!-- import JS file for this web page -->
<script src="DOM-demo-1.js"></script>
</body>
</html>
Web Development Skills – Part B - JavaScript 241
POINTE TÁBHACHTACH: Cuirtear athruithe ar inneachar agus ar chuma
leathanaigh i bhfeidhm tríd an HTML agus an CSS don leathanach sin.
Amharc an úsáideora deiridh
Is é seo an t-amharc a bhíonn ag an úsáideoir deiridh ar an leathanach nuair a bhrabhsálann sé
chuig an leathanach. De ghnáth, ní bhíonn spéis ar bith ag úsáideoirí deiridh sa chód JavaScript
ná HTML/CSS atá taobh thiar de na leathanaigh a dtugann siad cuairt orthu. Go minic, ní
bhíonn siad ar an eolas fúthu fiú!
Nuair a lódálann brabhsálaí leathanach, déanann sé
an HTML a pharsáil agus a léiriú de réir na rialacha
a leagtar amach i sonraíocht an HTML. I
gcaitheamh na mblianta, léirmhínigh
ríomhchláraitheoirí na rialacha sin ar bhealaí
éagsúla agus cuireadh HTML i bhfeidhm ar bhealaí
éagsúla i mbrabhsálaithe éagsúla mar thoradh air
sin. Go bunúsach, is é sin an fáth a mbíonn cuma
éagsúil ar an suíomh gréasáin céanna ar
bhrabhsálaithe éagsúla.
Léirítear an cód HTML ar an leathanach roimhe seo
d’úsáideoir deiridh mar a thaispeántar anseo ar
dheis.
Amharc an ríomhchláraitheora
Is é seo an t-amharc a bhíonn ag an bhforbróir feidhmchlár gréasáin ar a leathanach gréasáin.
Nuair a lódálann brabhsálaí leathanach, cruthaíonn sé léiriú ar an leathanach sin mar chuimhne
inmheánach, ar a dtugtar an DOM. Seasann DOM don leagan Béarla ar Shamhaltán Oibiachta
Doiciméid (Document Object Model). Taispeántar sa léaráid thíos léiriú simplithe DOM ar an
gcód HTML a taispeántar ar an leathanach roimhe seo.
Web Development Skills – Part B - JavaScript 242
De bharr go bhfuil an léiriú seo cosúil le crann atá bunoscionn, tugtar an crann DOM air. Tá
gach crann DOM comhdhéanta de bhailiúchán nód, ag tosú le fréamh nóid amháin ar a dtugtar
doiciméad.
Tabhair faoi deara sa léaráid go bhfuil nód ar leith ar an gcrann DOM le haghaidh gach gné sa
chomhad HTML ar a bhfuil sé bunaithe. Bíonn nóid i gcrainn DOM chun téacs, tréithe agus
nótaí tráchta a chur in iúl freisin, chomh maith le gnéithe, ach tá siad sin go léir fágtha ar lár ón
léaráid ar mhaithe le simplíocht agus soiléire.
POINTE TÁBHACHTACH: Sula bhféadfaidh brabhsálaí leathanach a léiriú,
cruthaíonn sé crann DOM tríd an marcáil HTML a pharsáil.
Mar a fheictear ón léaráid, tá nádúr thar a bheidh ordlathach ag an gcrann DOM. Is áisiúil roinnt
den téarmeolaíocht a dhéanann cur síos ar an ngaol idir na nóid éagsúla a thuiscint. Baineann
tábhacht faoi leith leis na téarmaí tuismitheoir (parent), mac (child) agus deartháir (sibling).
Tugtar deartháirnóid ar nóid a bhíonn ar an leibhéal céanna ar an gcrann DOM. Bíonn an
tuismitheoir céanna ag deartháirnóid – nó chun é a rá ar bhealach eile – deirtear gur mac leis
an tuismitheoir céanna é gach deartháir.
Web Development Skills – Part B - JavaScript 243
Sa rannóg léaráide ar an leathanach roimhe seo,
feicimid go bhfuil beirt mhac sa nód eiliminte html –
head agus body. Is deartháireacha iad sin.
Níl ach nód mic amháin sa nód don eilimint head – is
nód eiliminte le haghaidh title é sin.
Tá ocht mac dhíreacha sa nód don eilimint body – is
iad sin na nóid do na heilimintí atá sa chuid choirp den
chód HTML i.e. h1, ul, h2, p, br, p agus script.
Sa chód HTML, tá ceithre mhír liosta sa liosta gan ord. Tá sin le feiceáil sa chrann DOM, áit a
bhfuil ceithre mhac ag an nód eiliminte do ul i.e. nód maceiliminte amháin le haghaidh gach
ceann de na heilimintí li. Taispeántar thíos na trí amharc:
<ul>
<li>Hats</li>
<li>Flags</li>
<li>Scarves</li>
<li>Headbands</li>
</ul>
Amharc HTML Amharc DOM Amharc úsáideora
Ar an gcaoi chéanna, is féidir amharc ar an marcáil a bhaineann
leis an dara clib ailt ar thrí bhealach. Ar dtús tá an HTML – tabhair
faoi deara go bhfuil clib bold sa chlib ailt agus í marcáilte i gcló
iodálach ach an chlib i a úsáid.
<p>This <b>bold <i>and italic</i></b> text</p>
Léirítear an HTML seo mar:
Amharc DOM
Web Development Skills – Part B - JavaScript 244
An Comhéadan Feidhmchláir (API) DOM
Sa gcuid roimhe seo, d’fhoghlaimíomar go léirítear gach leathanach gréasáin mar chrann DOM
agus go ndéantar athruithe ar an gcrann DOM a fhorleathadh go huathoibríoch chuig an
leathanach atá ar taispeáint. Mar sin, mar shampla, dá gcuirfí eilimint nua leis an gcrann DOM
ar chaoi éigin, thaispeánfaí go huathoibríoch é i bhfuinneog an bhrabhsálaí chomh maith.
Sa chuid seo, breathnóimid ar an gcaoi ar féidir na APInna JavaScript a úsáid chun rochtain a
fháil ar chrainn DOM agus iad a athrú, agus mar sin na leathanaigh ghréasáin a ndéanann siad
ionadaíocht orthu a nuashonrú go huathoibríoch.
POINTE TÁBHACHTACH: Coimeádann brabhsálaithe a bhfuil á thaispeáint acu
sioncronaithe leis an DOM. Dá bharr sin, nuair a athraíonn an crann DOM, déanann
an brabhsálaí a bhfuil á thaispeáint aige a nuashonrú go huathoibríoch chun na
hathruithe sin a léiriú.
Is sonraíocht é an API DOM faoin gcaoi ar cheart do ríomhchláir idirghníomhú leis an DOM.
Tugann sé liosta d’ainmneacha na bhfeidhmeanna agus na n-airíonna is féidir le ríomhchláir a
úsáid chun a mbealach a dhéanamh timpeall ar na gnéithe go léir i gcrann DOM agus chun iad
a láimhseáil.
Ar an dea-uair, tagann JavaScript taoibh cliaint le cur i bhfeidhm iomlán an API DOM. Ciallaíonn
sin, go bunúsach, go bhfuil sraith iomlán feidhmeanna agus airíonna ionsuite ag JavaScript ar
féidir iad a úsáid chun crainn DOM a láimhseáil. Mar shampla,
Web Development Skills – Part B - JavaScript 245
− is féidir an fheidhm createElement a úsáid chun nód eiliminte nua a chruthú.
− is féidir an fheidhm addChild a úsáid chun nód a chur leis ag pointe sonrach sa chrann
DOM.
− is féidir glaoch ar an bhfeidhm removeChild chun nód a scriosadh ón gcrann DOM.
− is féidir an fheidhm getElementById a úsáid chun nód eiliminte a aisghabháil ón gcrann
DOM.
− is féidir na hairíonna textContent agus innerHTML a úsáid chun inneachar téacs nód ar
bith a athrú. D’fhéadfaí na hairíonna sin a úsáid chun inneachar ceannteidil nó ailt nó cnaipe
nó rialtáin ar bith ar féidir téacs a bheith iontu a athrú.
Sa chéad chuid eile, breathnóimid ar chód samplach a úsáideann na APInna sin.
Sampla 1
Sa sampla seo, cuirfimid eilimint h1 amháin le leathanach gréasáin ar bhealach dinimiciúil.
Tosaímid le leathanach HTML an-bhunúsach a thaispeántar in éineacht lena chrann DOM thíos.
Tabhair faoi deara go n-úsáidtear na nóid ghlasa go léir chun eilimintí a chur in iúl ach go n-
úsáidtear dearg agus buí chun nóid tréithe agus téacs faoi seach a chur in iúl. Tabhair faoi
deara freisin go bhfuil luach body-id ag an tréith id ar an gclib body.
<!DOCTYPE html>
<html>
<head>
<title>DOM Demos 1..5</title>
</head>
<body id="body-id">
<script src="demo2.js"></script>
</body>
</html>
Web Development Skills – Part B - JavaScript 246
Caithfimid eilimint h1 a chur leis an leathanach ar bhealach dinimiciúil. Maidir le DOM, is gá
dúinn nód nua a chruthú don eilimint h1 agus é a ionsá ar an gcrann DOM mar mhac leis an
eilimint body. Chun é sin a dhéanamh, ní mór dúinn tuiscint a fháil ar an eilimint body. Déantar
sin ach getElementById a úsáid agus id na heiliminte body a sheachadadh isteach, mar a
thaispeántar sa chód JavaScript.
let bodyElem = document.getElementById("body-id");
// cruthaigh eilimint nua h1
let h1Elem = document.createElement("h1");
// socraigh inneachar téacs na heiliminte h1
h1Elem.textContent = "This is a level 1 heading!";
// ionsáigh an eilimint nua h1 mar mhac coirp
bodyElem.appendChild(h1Elem);
Sampla 2
Taispeántar sa sampla seo querySelector á úsáid mar mhalairt rogha ar getElementById
chun eilimint DOM a aisghabháil. Glacann API querySelector le luach roghnóra eiliminte mar
argóint – de ghnáth, úsáidtear luach id eiliminte nó tréith class mar luachanna roghnóra.
(Áirítear ar luachanna roghnóra eile luachanna tréithe eile agus tréithe iad féin.)
Nuair a úsáidtear an tréith id mar roghnóir, ní mór siombail na haise, i.e. #, a chur roimhe. Mar
shampla, tá an éifeacht chéanna ag an gcód thíos agus atá ag an liostáil roimhe seo.
let bodyElem = document.querySelector("#body-id");
// cruthaigh eilimint nua h1
let h1Elem = document.createElement("h1");
// socraigh inneachar téacs na heiliminte h1
h1Elem.textContent = "This is a level 1 heading!";
// ionsáigh an eilimint nua h1 mar mhac coirp
bodyElem.appendChild(h1Elem);
Chun an tréith class a úsáid, ní mór ponc a chur roimh an roghnóir, mar a thaispeántar anseo.
(Glactar leis, sa sampla seo, go bhfuil luach body-class ag an tréith class le haghaidh body.)
Web Development Skills – Part B - JavaScript 247
let bodyElem = document.querySelector(".body-class");
Is féidir getElementById agus querySelector a úsáid go hinmhalartaithe. Tá an chéad
cheann sin éasca le húsáid mar gheall nach féidir le dhá eilimint an id13 céanna a bheith acu. An
buntáiste a bhaineann le querySelector ná gur féidir é a úsáid chun díriú ar níos mó eilimintí.
Luaitear sa doiciméadúchán MDN gur fearr querySelector a úsáid ach bainfimidne úsáid as
getElementById mar theicníc réamhshocraithe chun rochtain a fháil ar eilimintí ó laistigh de
ríomhchlár JavaScript (mar gheall go bhfuil sé níos faide ar an bhfód agus mar sin go dtacaíonn
brabhsálaithe níos sine leis. Tá sé beagán níos éifeachtaí freisin.)
Sampla 3
Sa sampla seo, ionsáitear trí eilimint cheannteidil sa rannóg choirp dár leathanach HTML.
Gach uair is mian linn eilimint nua a chur leis, ní mór dúinn í a chruthú ar dtús agus ansin a
hinneachar a shocrú agus, ar deireadh, í a chur ar an gcrann DOM.
let bodyElem = document.getElementById("body-id");
let h1Elem = document.createElement("h1");
h1Elem.textContent = "This is a level 1 heading!";
bodyElem.appendChild(h1Elem);
let h2Elem = document.createElement("h2");
h2Elem.textContent = "This is a level 2 heading!";
bodyElem.appendChild(h2Elem);
let h4Elem = document.createElement("h4");
h4Elem.textContent = "This is a level 4 heading!";
bodyElem.appendChild(h4Elem);
13 Féach ar https://stackoverflow.com/questions/48240240/why-are-duplicate-ids-not-allowed-in-html
Web Development Skills – Part B - JavaScript 248
Tabhair faoi deara sna samplaí go dtí seo gur úsáideadh an t-airí textContent chun téacs na n-
eilimintí ceannteidil atá á gcruthú a shocrú. Tá sin mícheart, i ndáiríre, mar gur cheart nóid téacs
a úsáid chun téacs i gcrann DOM a chur in iúl. Meastar gur fearr an cód seo a leanas.
let bodyElem = document.getElementById("body-id");
let h1Elem = document.createElement("h1");
var textNode = document.createTextNode("This is a level 1 heading!");
h1Elem.appendChild(textNode);
bodyElem.appendChild(h1Elem);
Dúshlán!
Mionathraigh an cód níos luaithe thuas ionas go gcuirfear an téacs le
haghaidh h2 agus h4 in iúl ar nóid téacs (seachas mar airí textContent)
Web Development Skills – Part B - JavaScript 249
Sampla 4
Sa sampla seo, taispeánfaimid an tslí le heilimint a ionsá idir dhá eilimint
Mar shampla, cuir i gcás gur theastaigh uainn eilimint h3 a chruthú agus a ionsá idir na
heilimintí h2 agus h4 a cruthaíodh sa sampla roimhe seo. (Cuimhnigh gur tar éis an DOM a
chruthú é sin.) Léirítear an riachtanas sin sa ghraf thíos, agus an DOM á úsáid.
An crann DOM roimh ionsá An crann DOM i ndiaidh ionsá
Bealach amháin chun an riachtanas a bhaint amach is ea insertAdjacentElement a úsáid
mar a thaispeántar sa chód thíos. Déanann an glaoch ar insertAdjacentElement an
eilimint a ndéantar tagairt di ag h3Elem a ionsá i ndiaidh dheireadh h2Elem sa chrann DOM.
let h3Elem = document.createElement("h3");
h3Elem.textContent = "This is a level 3 heading!";
h2Elem.insertAdjacentElement('afterend', h3Elem);
Is iad na luachanna bailí don argóint suímh choibhneasta, 'beforebegin', 'afterbegin', 'beforeend'
agus 'afterend'. Léirítear iad seo thuas.
Dúshlán!
Déan iarracht teacht ar réiteach ar an sampla seo a thosaíonn ag tús na
heiliminte coirp agus a dhéanann nascleanúint chuig an suíomh ionsáite
riachtanach (glac leis nach bhfuil teidil agat le haghaidh ceann ar bith de
na heilimintí ceannteidil).
Web Development Skills – Part B - JavaScript 250
Sampla 5
Léirítear sa sampla seo an chaoi le liosta gan ord a ghiniúint ar ala na huaire agus JavaScript á
úsáid.
Cuirtear an cód JavaScript ar fáil thíos. Tógtar inneachar gach liosta ó eagar teaghrán ar a
dtugtar strs agus a fhógraítear ar an gcéad líne.
let strs = [ "Milk", "Bread", "Butter", "Crisps"];
// Aisghabh an eilimint choirp – ceanglóimid an eilimint ul leis sin ar ball.
let bodyElem = document.getElementById("body-id");
// Cruthaigh eilimint le haghaidh ul
let unorderedList = document.createElement("ul");
for (let i in strs) {
let listItem = document.createElement("li"); // cruthaigh eilimint míre liosta
listItem.textContent = strs[i]; // socraigh airí textContent na heiliminte
unorderedList.appendChild(listItem); // cuir an li leis mar an mac deireanach
le ul
}
// Ceangail an eilimint ul leis an gcorp
bodyElem.appendChild(unorderedList);
Léirítear sa léaráid thíos cuid den chrann DOM chomh maith leis an liosta féin agus é á léiriú ag
an mbrabhsálaí.
Bain triail as!
- Déan iarracht an toradh céanna a bhaint amach trí na línte céanna cóid a
úsáid ach iad a shocrú in ord beagán difriúil.
- Déan iarracht cineál eile liosta a chruthú e.g. liosta ordaithe nó liosta
sainmhínithe.
- Cén chaoi a ndéanfá an cód a oiriúnú chun liosta alt a chruthú?
Web Development Skills – Part B - JavaScript 251
Web Development Skills – Part B - JavaScript 252
Teagmhais
Is téarma ríomhchlárúcháin é teagmhas a úsáidtear chun cur síos a dhéanamh ar rud éigin a
tharlaíonn fad a bhíonn ríomhchlár á rith. I gcomhthéacs na forbartha gréasáin, tarlaíonn
teagmhais fad a bhíonn ríomhchlár JavaScript le haghaidh suíomh gréasáin á rith.
De ghnáth (ach ní i gcónaí) is é an t-úsáideoir deiridh a chuireann tús le teagmhas, e.g.
cliceálann úsáideoir ar chnaipe luiche chun foirm a chur isteach, agus bíonn ainmneacha thar a
bheith sonracha acu, e.g. cliceáil. Nuair a chuirtear tús le teagmhas, deirtear go bhfuil sé
ardaithe (nó lasta).
Ó thaobh an ríomhchlárúcháin de, tá dhá ghné ag baint le teagmhais – láimhseálaithe agus
éisteoirí.
Is éard is láimhseálaí teagmhais ann an cód i do ríomhchlár a rithfear nuair a lasfar teagmhas.
De ghnáth, cuirtear láimhseálaí i bhfeidhm mar fheidhmeanna JavaScript i do ríomhchlár.
Lena chinntiú go nglaoitear ar do láimhseálaí nuair a lastar a theagmhas, ní mór duit é a chlárú
le fo-chóras JavaScript ar dtús. Chomh luath agus a bhíonn láimhseálaí cláraithe, ‘éisteoidh’
JavaScript le haghaidh an teagmhas a bhfuil sé cláraithe lena láimhseáil. Nuair a ardófar an
teagmhas, glaofar ar an láimhseálaí.
Comhcheanglaítear HTML/CSS, cód JavaScript agus teicneolaíochtaí fho-chóras JavaScript/an
bhrabhsálaí le chéile chun ailtireacht a chruthú chun teagmhais a láimhseáil. Taispeántar sin sa
léaráid thíos.
Web Development Skills – Part B - JavaScript 253
Léirítear thuas an ailtireacht láimhseála teagmhais taobh thiar de chlic simplí ar chnaipe. Nuair
a chliceáiltear an cnaipe, lastar teagmhas agus taispeánfaidh an láimhseálaí an teachtaireacht
Hello World! i mír aníos.
Taispeántar thíos na liostálacha iomlána HTML agus JavaScript don sampla a léirítear ar an
leathanach roimhe seo.
<!DOCTYPE html>
<html>
<head>
<title>Event Demo v1</title>
</head>
<body>
<button id="btn" type="button">Click me!</button>
<script src="EV-demo.js"></script>
</body>
</html>
Déanann an dara líne in EV-demo.js a thaispeántar anseo láimhseálaí ar a dtugtar
displayMessage a cheangal den chnaipe a shainaithnítear mar btn sa HTML.
const btnRef = document.getElementById("btn");
btnRef.addEventListener("click", displayMessage);
// Taispeáin teachtaireacht
function displayMessage() {
alert( "Hello World!" );
}
Nuair a ritear an cód, taispeánann an brabhsálaí an cnaipe.
Nuair a chliceálann an t-úsáideoir ar an gcnaipe, ritheann an brabhsálaí an láimhseálaí (i.e.
displayMessage). Taispeántar an mhí aníos leis an teachtaireacht Hello World! mar a
thaispeántar anseo.
Web Development Skills – Part B - JavaScript 254
POINTÍ TÁBHACHTACHA:
✔ Is éard is láimhseálaithe teagmhais ann feidhmeanna a shainmhíníonn an t-
úsáideoir a ghairtear nuair a lastar teagmhas.
✔ Ní mór láimhseálaithe a chlárú le haghaidh teagmhais shonracha e.g. click
✔ Is féidir leat láimhseálaí a chlárú leis an API JavaScript addEventListener
Sampla 1
Sa sampla seo, scríobhaimid láimhseálaí chun an t-am reatha a thaispeáint mar fhreagra ar
chnaipe ar leathanach gréasáin a chliceálann úsáideoir. Léireofar an t-am mar alt HTML suite
díreach faoin gcnaipe ar an leathanach mar a thaispeántar anseo.
Taispeántar an HTML thíos. Tabhair faoi deara go bhfógraítear an eilimint ailt folamh le tréith id
atá socraithe mar demo. Bainfidh an cód JavaScript úsáid as sin mar ionadchoinneálaí i.e. mar
áit leis an am a thaispeáint nuair a chliceáiltear ar an gcnaipe.
<!DOCTYPE html>
<html>
<head>
<title>Date Demo v1</title>
</head>
<body id="body-id">
<button id="time" type="button">Click to see the current time</button>
<p id="demo"> PLACEHOLDER</p> <script src="EV-demo-1.js"></script>
</body>
</html>
Taispeántar thíos an liostáil le haghaidh EV-demo-1.js. Tugtar ‘click’ ar an teagmhas agus
tugtar displayTime ar an láimhseálaí. Nuair a chliceálann an t-úsáideoir ar an gcnaipe,
gairtear an láimhseálaí agus taispeántar an t-am.
const timeBtn = document.getElementById("time"); // Aisghabh an cnaipe ama
timeBtn.addEventListener("click", dispTime); // Ceangail láimhseálaí den chnaipe ama
// Láimhseálaí le haghaidh an chnaipe ama
Web Development Skills – Part B - JavaScript 255
function dispTime() {
document.getElementById("demo").textContent = Date();
}
Bain triail as!
Seachas timeBtn.addEventListener("click", dispTime); a úsáid
chun éisteoir a chur leis, bain triail as ceann ar bith de na nithe seo a leanas
....
timeBtn.addEventListener("dblclick", dispTime);
timeBtn.addEventListener("mousedown", dispTime);
timeBtn.addEventListener("mouseover", dispTime);
Sampla 2
Sa sampla roimhe seo, taispeántar an t-am san áit chéanna ar an leathanach i gcónaí.
Ciallaíonn sin go ndéantar an t-am a taispeánadh roimhe a fhorscríobh leis an luach nua don
am nuair a chliceáiltear an cnaipe.
Sa sampla seo, feictear na hamanna faoina chéile mar ailt nua ar an leathanach, mar a léirítear
thíos.
Roimh an gcliceáil I ndiaidh na cliceála
Baintear an toradh sin amach tríd an láimhseálaí teagmhais a mhionathrú, mar a thaispeántar
sa liostáil thíos.
const timeBtn = document.getElementById("time"); // Aisghabh an cnaipe ama
timeBtn.addEventListener("click", dispTime); // Ceangail láimhseálaí den chnaipe ama
// Láimhseálaí chun an t-am a thaispeáint
function dispTime() {
let dateTimeStr = Date();
document.getElementById("demo").textContent = dateTimeStr;
// Cuir an t-am leis mar mac deireanach coirp
let bodyElem = document.getElementById("body-id");
let newPara = document.createElement("p");
Web Development Skills – Part B - JavaScript 256
newPara.textContent = dateTimeStr;
bodyElem.appendChild(newPara);
} // end dispTime
Glaonn an láimhseálaí ar createElement chun eilimint ailt DOM nua a chur le chéile.
Socraítear téacs an ailt ach a airí textContent a úsáid. Ar deireadh, glaoitear ar
appendChild chun an eilimint ailt a ionsá mar mhaceilimint den chorp. Cuirtear an t-alt ar an
gcrann DOM ag deireadh na n-eilimintí go léir atá laistigh den eilimint body.
Sampla 3
Léirítear sa ghabháil scáileáin thíos aidhm an chéad sampla eile.
Nuair a iontrálann úsáideoir téacs sa
réimse iontrála agus nuair a chliceálann
sé OK, taispeántar an téacs ar an
leathanach gréasáin. Déantar gach píosa
nua téacs a iarcheangal mar alt nua le
rannóg div a fhógraítear taobh istigh de
chorp an chóid HTML.
Taispeántar thíos an HTML don leathanach seo.
<body>
<h1>Text Entry Demo</h1>
<label for="txt-field">Enter some text</label>
<input type="text" id="txt-field">
<button id="ok-btn" type="button">OK</button>
<!-- an empty div section to display the text --
>
<div id="result-div"></div>
<script src="EV-demo-3.js"></script>
</body>
Taispeántar thíos an JavaScript don leathanach seo.
Web Development Skills – Part B - JavaScript 257
const textField = document.getElementById('txt-field');
const okBtn = document.getElementById('ok-btn'); // aisghabh an cnaipe OK
okBtn.addEventListener('click', buttonClicked); // ceangail an láimhseálaí
// Cód láimhseálaí le rith nuair a chliceáiltear ar an gcnaipe OK
function buttonClicked() {
// Cuir na sonraí a iontráladh leis mar an mac deireanach leis an rannóg toraidh
let divElem = document.getElementById("result-div");
let newPara = document.createElement("p");
newPara.textContent = textField.value;
divElem.appendChild(newPara);
textField.focus(); // socraigh an fócas ar ais chuig an réimse téacs
textField.value = ""; // glan inneachar an réimse téacs
}
Sampla 4
Tá an sampla seo beagnach mar an gcéanna leis an gceann roimhe – an uair seo, in áit a
bheith le feiceáil mar ailt, léirítear an téacs mar mhíreanna liosta i liosta gan ord (in áit mar ailt).
Mar gheall gur mic ina bhfuil eilimint ul iad míreanna liosta, ní mór don chód a sheiceáil an
bhfuil máthairárthach ann chun an mhír liosta nuachruthaithe a chur ann. Murab ann don
tuismitheoir, cruthaítear é agus cuirtear leis an rannóg div é
const textField = document.getElementById('txt-field');
textField.focus(); // socraigh an fócas chuig an réimse téacs
const okBtn = document.getElementById('ok-btn');
// Ceangail éisteoir leis an gcnaipe ok
okBtn.addEventListener('click', buttonClicked);
function buttonClicked() {
let dataEntered = textField.value;
let listItem = document.createElement("li");
listItem.textContent = dataEntered;
// Cuir na sonraí a iontráladh leis mar an mac deireanach le liosta gan ord
let unorderedList = document.getElementById("ul");
// Murab ann don liosta, cruthaigh é agus ....
// ... ionsáigh é mar mhac leis an rannóg toraidh
if (unorderedList == null) {
let divElem = document.getElementById("result-div");
unorderedList = document.createElement("ul");
Web Development Skills – Part B - JavaScript 258
divElem.appendChild(unorderedList);
}
unorderedList.appendChild(listItem);
textField.focus();
textField.value = "";
}
Sampla 5
Is ‘cluiche tomhais an uimhir’ é an sampla seo – tá an leathanach HTML tosaigh bunaithe ar an
dá shampla roimhe seo. Nuair a thosaítear an cluiche, bíonn an chuma seo ar an mbrabhsálaí.
Cruthaíonn an cód JavaScript slánuimhir randamach idir 1 agus 10, an dá uimhir sin san
áireamh agus gach uair a chuireann an t-úsáideoir tomhas isteach, tugann an ríomhchlár ceann
amháin as dhá theachtaireacht aiseolais mar fhreagra – Congratulations! nó Wrong! – ag brath
ar cibé an raibh an uimhir a iontráladh ceart nó nach raibh.
Fógraíonn an cód HTML thíos ionadchoinneálaí ar a dtugtar rightOrWrong atáthar in ann a
úsáid sa chód JavaScript chun an teachtaireacht aiseolais chuí a chur leis.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Event Demo 5 - Guess Game v1</title>
<!-- import the web page's stylesheet -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Number guessing game</h1>
<p>Guess a number between 1 and 10 (incl.)</p>
<label for="guessField">Enter a guess: </label>
<input type="text" id="guessField">
<button id="submit-btn" type="button">Submit guess</button>
<p id="rightOrWrong"></p>
<script src="EV-demo-5.js"></script>
</body>
Web Development Skills – Part B - JavaScript 259
</html>
Taispeántar an cód foinseach le haghaidh EV-demo-5.js ar an gcéad leathanach eile.
Tá an cód le haghaidh EV-demo-5.js simplí go leor. Ceanglaítear láimhseálaí ar a dtugtar
checkGuess den chnaipe submit. Gairtear an láimhseálaí nuair a lastar teagmhas ‘click’. Ní
tharlaíonn sé sin ach amháin nuair a chliceálann an t-úsáideoir ar an gcnaipe csubmit.
Déantar an chuid is mó den phróiseáil taobh istigh den láimhseálaí – léann an cód an luach a
iontrálann an t-úsáideoir agus seiceálann é lena fháil amach an bhfuil sé mar an gcéanna le
huimhir rúnda an ríomhaire. Déantar an teachtaireacht aiseolas chuí (i.e. Congratulations nó
Wrong!) a shocrú mar an t-inneachar téacs in eilimint ailt an leathanaigh ansin agus úsáidtear é
chun an t-aiseolas a thaispeáint. (Cuimhnigh ón HTML ar an leathanach roimhe seo go
sainaithnítear an ‘t-alt aiseolais’ seo leis an luach rightOrWrong)
// pioc uimhir randamach idir 1 agus 10
let secretNumber = Math.floor(Math.random() * 10) + 1;
// Socraigh láimhseálaí teagmhais don chnaipe submit
const submitBtn = document.getElementById("submit-btn");
submitBtn.addEventListener('click', checkGuess);
// Láimhseálaí – seiceáil an buille faoi thuairim
function checkGuess() {
const feedback = document.getElementById('rightOrWrong');
const guessField = document.getElementById('guessField');
// Léigh buille faoi thuairim an úsáideora
let userGuess = Number(guessField.value);
if (userGuess === secretNumber) {
feedback.textContent = 'Congratulations!';
} else {
feedback.textContent = 'Wrong!';
}
guessField.value = ''; // bánaigh an réimse
guessField.focus(); // tabhair an fócas dó
}
Mol trí leasú a d’fhéadfá a chur ar an ‘gcluiche tomhais an uimhir’ sula
dtéann tú ar aghaidh chuig an gcéad ghníomhaíocht ar leithligh eile.
1.
Web Development Skills – Part B - JavaScript 260
2.
3.
Web Development Skills – Part B - JavaScript 261
GNÍOMHAÍOCHT AR LEITHLIGH 2
Sna chéad tascanna eile, tá ort roinnt leasuithe a dhéanamh ar an ‘gcluiche tomhais an uimhir’
a cuireadh i láthair roimhe seo. Cuireann gach tasc leis an gcód ón tasc roimhe – mar sin, i
gcás Thasc 1, ba cheart duit tosú leis an gcód ón sampla is déanaí.
Cuirtear an chuid is mó den chód a bheidh ag teastáil uait chun gach tasc a chur i gcrích ar fáil
duit – níl ort ach a oibriú amach céard a dhéanann sé, cén chaoi lena úsáid agus cá háit lena
chur chun an tasc a chur i gcrích.
Tasc 1
a) Cuir ticbhosca leis an leathanach chun an uimhir atá an t-úsáideoir ag iarraidh a
thomhas a thaispeáint/a chur i bhfolach i.e. an uimhir ríomhghinte a stóráiltear san
athróg secretNumber.
Taispeántar sampla den chaoi ar cheart don ticbhosca gníomhú le
taobh an téacs seo. Nuair a thosaíonn an ríomhchlár, feictear an
ticbhosca gan tic ann.
Nuair a chliceálann an t-úsáideoir ar an ticbhosca, taispeántar an uimhir rúnda mar
inneachar téacs lipéad an ticbhosca.
b) Athraigh airí stíle na teachtaireachta aiseolais ionas go dtaispeántar í i nglas má tá an
tomhas ceart agus i ndearg mura bhfuil.
feedback.style.backgroundColor = red'; // baile ag teastáil uaidh!
function toggleNumber() {
const computerNumber = document.getElementById('computerNumber');
if (checkbox.checked) {
computerNumber.style.visibility = 'visible';
computerNumber.textContent = secretNumber;
} else {
computerNumber.style.visibility = 'hidden';
}
}
<input id="showNumberCkBx" type="checkbox">
<label id="computerNumber"></label>
feedback.style.backgroundColor = 'green'; // cabhraigh liom – táim ar strae!
Web Development Skills – Part B - JavaScript 262
let checkbox = document.getElementById("showNumberCkBx");
checkbox.addEventListener('click', toggleNumber);
Tasc 2
Maidir leis an tasc seo, tá ort rannóg torthaí a chruthú i do leathanach chun an fhaisnéis seo a
leanas a thaispeáint:
a) Liosta de gach tomhas a rinne an t-úsáideoir roimhe seo
b) Teachtaireacht chabhrach le hinsint don úsáideoir cibé an raibh a thomhas ró-íseal, ró-ard
nó díreach ceart (d’fhéadfá an ceathrú teachtaireacht a chur leis chun ‘neamhbhailí’ a
thaispeáint i ngach cás eile, má tá dúshlán uait!)
c) Staitistic ag an deireadh a thugann an líon iomlán tomhas (beidh ort athróg a fhógairt agus a
choimeád chun taifead a choinneáil ar thomhais an úsáideora – tabhair guessCount air)
Ní thugtar na codanna cóid in ord ar bith – beidh ort iad a chur sna suíomhanna cearta sa chód,
mar thoradh ar Thasc 1.
function displayStats() {
// Taispeáin an líon buillí faoi thuairim
let statsPara = document.getElementById("stats");
statsPara.textContent = "You took "+guessCount+" guesses";
}
<div id="results">
<p id="rightOrWrong"></p>
<p id="lowOrHi"></p>
<p>Previous Guesses:</p>
<ul id="prevGuesses"></ul>
<p id="lowOrHi"></p>
</div>
// Taispeáin buille faoi thuairim gach úsáideora sa rannóg le haghaidh prevGuesses
let unorderedList = document.getElementById("prevGuesses");
let newListItem = document.createElement("li");
newListItem.textContent = guessField.value;
unorderedList.appendChild(newListItem);
// Taispeáin teachtaireacht a chabhróidh leis an úsáideoir
let helpfulMsgField = document.getElementById("lowOrHi");
if (userGuess < secretNumber) {
helpfulMsgField.textContent = 'Too low!' ;
} else if (userGuess > secretNumber) {
helpfulMsgField.textContent = 'Too high!';
if (userGuess === secretNumber) {
helpfulMsgField.textContent = 'Just right!';
}
Web Development Skills – Part B - JavaScript 263
displayStats(); // glaoigh ar an bhfeidhm chun an líon buillí faoi thuairim a
thaispeáint
Tasc 3
Cuir próiseáil ‘Game Over’ leis. Sa tasc seo, tá ort cnaipe ‘New game’ a chur le do leathanach.
Déanann an dá léaráid thíos cur síos ar an gcaoi ar cheart don chóras gníomhú roimh chliceáil
ar an gcnaipe agus i ndiaidh chliceáil ar an gcnaipe. Tabhair faoi deara staid
chumasaithe/dhíchumasaithe an dá chnaipe.
Roimh chliceáil ar an gcnaipe ‘New game’ I ndiaidh cliceáil ar an gcnaipe ‘New game’
function gameOver() {
submitBtn.disabled = true;
newGameBtn.disabled = false;
displayStats();
}
const newGameBtn = document.getElementById('newgame-btn');
newGameBtn.addEventListener('click', newGame);
<button id="newgame-btn" type="button">New game</button>
function newGame() {
secretNumber = Math.floor(Math.random() * 10) + 1;
guessCount = 0;
submitBtn.disabled = false;
newGameBtn.disabled = true;
document.getElementById('computerNumber').textContent = "";
document.getElementById("showNumberCkBx").checked = false;
document.getElementById('rightOrWrong').textContent = "";
document.getElementById("lowOrHi").textContent = "";
Web Development Skills – Part B - JavaScript 264
document.getElementById("prevGuesses").innerHTML = "";
document.getElementById("stats").textContent = "";
}
Beidh ort línte a chur leis chun glaoch ar na feidhmeanna gameOver agus newGame.
Tasc 4
Sa tasc seo, cuirfidh tú dhá chnaipe guairne leis lena chur ar chumas úsáideoirí luach íosta
agus uasta a shocrú don uimhir rúnda. Ba cheart go mbeadh an chuma seo ar an scáileán
tosaigh sa chóras deiridh:
// Láimhseálaí le haghaidh na nguairní
function setSecretNo() {
minValue = Number(document.getElementById('low').value);
maxValue = Number(document.getElementById('high').value);
secretNumber = Math.floor(Math.random() * (maxValue - minValue +1)) + minValue;
// nuashonraigh an uimhir rúnda ar an bpainéal taispeána
document.getElementById('computerNumber').textContent = secretNumber;
}
// Cruthaigh éisteoir don dá ghuairne (déanfaidh an ceann céanna cúis don phéire)
document.getElementById('low').addEventListener('change', setSecretNo);
document.getElementById('high').addEventListener('change', setSecretNo);
<div>
<label for="low">Min: </label>
<input id="low" type="number" min="1" max="100" step="1" value="1">
<label for="high">Max: </label>
<input id="high" type="number" min="1" max="100" step="1" value="100">
</div>
// Is gá an cód seo a shní isteach san fheidhm ‘newGame’
minValue = Number(document.getElementById('low').value);
Web Development Skills – Part B - JavaScript 265
maxValue = Number(document.getElementById('high').value);
secretNumber = Math.floor(Math.random() * (maxValue - minValue +1)) + minValue;
let minValue, maxValue;
Déan machnamh ar na tascanna idirghníomhacha go léir atá díreach curtha i
gcrích agat. Déan cur síos ar chás ar bith ina n-úsáidfeá cur chuige difriúil
chun ceann ar bith de na tascanna a chur i gcrích. An bhfuil tú in ann
smaoineamh ar aon fheabhsúchán eile a d’fhéadfá a dhéanamh? Tabhair le
fios cén chaoi a bhféadfaí ceann ar bith de na cleachtaí seo a oiriúnú le
húsáid i rang Ríomheolaíocht na hArdteistiméireachta de do chuid féin?
Web Development Skills – Part B - JavaScript 266
Tasc 5
Don tasc deiridh seo sa seisiún ar leithligh, tá ort an córas Foghlama Ríomhchuidithe (CAL) a
d’fhorbair tú i seisiún ar leithligh 1 a ‘ghréasánú’. Tabharfaimid Córas Foghlama Ríomhchuidithe
Ar Líne, nó OCALS ar an gcóras nua.
Is féidir an riachtanas sin a bhaint amach tríd an gcód atá agat ón ‘gcluiche tomhais an uimhir’ a
shní isteach leis an gcód críochnaithe ón gcéad seisiún ar leithligh. Sula dtosaíonn tú ba cheart
duit smaoineamh ar an gcuma a bheadh ar OCALS nuair a bheidh sé tugtha chun críche. Beidh
ort do réiteach a phleanáil agus a cheapadh go cúramach sula dtosaíonn tú á chur i bhfeidhm le
HTML/CSS agus cód JavaScript. Bain úsáid as léaráid an phróisis ceaptha ó dhoiciméad
sonraíochta Ríomheolaíocht na hArdteistiméireachta agus na ceisteanna thíos chun creat a
chur le do smaointeoireacht.
Tosaigh le raon feidhme a leagan amach do do chóras – céard a dhéanfaidh sé? Déan iarracht
thú féin a shamhlú in intinn an úsáideora deiridh. Cén fheidhmiúlacht a theastódh ón ngnáth-
úsáideoir deiridh? Bain úsáid as sin lena chinneadh céard a bheidh agus nach mbeidh ann
(agus a mbeidh eatarthu). Beidh ort do shreabhadh sonraí a chur san áireamh chomh maith –
cén fhaisnéis atá de dhíth? Céard a chaithfidh mé a ghabháil ón úsáideoir deiridh? Céard iad na
sonraí a fhéadfaidh an córas a ghineadh?
Faoin am seo, is fiú cúpla smaoineamh a leagan síos don chomhéadan úsáideora (d’fhéadfadh
na seatanna den scáileán a thaispeántar thíos agus ar an gcéad leathanach eile cúpla
smaoineamh a spreagadh – déan iarracht do chinn féin a cheapadh!). Cén chuma a bheidh ar
an gcóras don úsáideoir deiridh? Déan roinnt cásanna úsáide a dhearadh – is féidir iad a úsáid
mar bhunús agus tú ag dearadh do thástála. Faoin am seo ba cheart go mbeifeá réidh chun
Web Development Skills – Part B - JavaScript 267
tosú ar dhearadh bonnleibhéil. Cé na giuirléidí/rialtáin UI a úsáidfidh tú? Céard iad na
teagmhais a mbeidh ar do chóras déileáil leo? Cén chuid de do shuíomh a bheidh statach agus
cén chuid a bheidh dinimiciúil?
Chomh luath agus a bheidh do riachtanais agus do shonraíochtaí dearaidh curtha i gcrích agat,
beidh tú réidh le dul ar aghaidh chuig céim chur i bhfeidhm agus thástála an tionscadail. Go n-
éirí leat!
Web Development Skills – Part B - JavaScript 268
OCALS – Scáileáin shamplacha
Web Development Skills – Part B - JavaScript 269
Web Development Skills – Part B - JavaScript 270
LEATHANACH BÁN
Web Development Skills – Part B - JavaScript 271
Réitigh Mholta ar Ghníomhaíochtaí ar Leithligh
Réiteach Molta ar Ghníomhaíocht ar Leithligh #1 (CAL)
Tugtar na réitigh ar gach ceann de na hocht gcleachtadh ar na leathanaigh seo a leanas.
Míníonn na teachtaireachtaí an cód.
Tá na réitigh ina sraitheanna, rud a chiallaíonn go gcuireann gach liostáil leis an
bhfeidhmiúlacht bhreise atá mar thoradh ar an bhfadhb roimhe. Tugann an cód atá aibhsithe i
mbuí le fios cá háit ar cuireadh an réiteach ar gach fadhb i bhfeidhm. Ba cheart duit iarracht a
dhéanamh gach réiteach a thuiscint sula dtéann tú ar aghaidh chuig an gcéad fhadhb eile.
Réiteach ar Cheist 1
// CÉIM 1. Gin an cheist
// Gin 2 uimhir randamacha
let n1 = Math.floor(Math.random() * 10); // 0 <= n1 < 10
let n2 = Math.floor(Math.random() * 10); // 0 <= n2 < 10
// CÉIM 2. Cuir ceist ar an úsáideoir agus faigh freagra
// athraítear n1 agus n2 go teaghráin ionas gur féidir iad a thaispeáint mar chuid ...
// ... den teaghrán leide
let problemInWords = "What is "+ String(n1) + " + " + String(n2); // C1
console.log(problemInWords);
let userResponse = Number(prompt(problemInWords));
console.log("User entered %d", userResponse); // is chun críocha dífhabhtaithe sin
// CÉIM 3: Déan an freagra a phróiseáil
// Déan an freagra ceart a ríomh. Ansin...
// ... fad is go mbíonn freagra an úsáideora difriúil le freagra an ríomhaire ...
// ... inis don úsáideoir go bhfuil siad mícheart agus ...
// ... iarr freagra eile ar an úsáideoir
let correctAnswer = n1 + n2; // Déan an freagra ceart a ríomh
while (userResponse != correctAnswer) {
console.log("Wrong answer! Try again.");
userResponse = Number(prompt(problemInWords));
}
// CÉIM 4. Taispeáin teachtaireacht spreagúil a roghnaítear go randamach
const messages = ["Well done!", "Very good!", "Correct!", "Keep it up!", "Nice work!"];
const r = Math.floor(Math.random() * messages.length);
console.log(messages[r]);
alert(messages[r]);
Web Development Skills – Part B - JavaScript 272
Réiteach ar Cheist 2
// CÉIM 1. Gin an cheist
// Gin 2 uimhir randamacha
let n1 = Math.floor(Math.random() * 10); // 0 <= n1 < 10
let n2 = Math.floor(Math.random() * 10); // 0 <= n2 < 10
// CÉIM 2. Cuir ceist ar an úsáideoir agus faigh freagra
// athraítear n1 agus n2 go teaghráin ionas gur féidir iad a thaispeáint mar chuid ...
// ... den teaghrán leide
let problemInWords = "What is "+ String(n1) + " + " + String(n2); // C1
console.log(problemInWords);
let userResponse = Number(prompt(problemInWords));
console.log("User entered %d", userResponse); // is chun críocha dífhabhtaithe sin
// CÉIM 3: Déan an freagra a phróiseáil
// Déan an freagra ceart a ríomh. Ansin...
// ... fad is go mbíonn freagra an úsáideora difriúil le freagra an ríomhaire ...
// ... inis don úsáideoir go bhfuil siad mícheart agus ...
// ... iarr freagra eile ar an úsáideoir
let correctAnswer = n1 + n2; // Déan an freagra ceart a ríomh
while (userResponse != correctAnswer) {
// C2 – glac leis go gciallaíonn freagairt dhiúltach nach bhfuil an freagra ar
eolas ag an úsáideoir
if (userResponse < 0) {
break; // scoir an lúb
} else {
console.log("Wrong answer! Try again.");
userResponse = Number(prompt(problemInWords));
}
}
// C2 – ní raibh an freagra ar eolas ag an úsáideoir, mar sin, inis an freagra dóibh
if (userResponse < 0) {
console.log("Answer not known. The correct answer was", correctAnswer);
alert("Answer not known. The correct answer was" + String(correctAnswer));
} else {
// CÉIM 4. Taispeáin teachtaireacht spreagúil a roghnaítear go randamach
const messages = ["Well done!", "Very good!", "Correct!", "Keep it up!", "Nice work!"];
const r = Math.floor(Math.random() * messages.length);
console.log(messages[r]);
alert(messages[r]);
}
Tarscaoileadh!
Beidh an cur i bhfeidhm seo ina fhoinse d’fhabht a nochtfar sa réiteach ar Cheist 8.
Web Development Skills – Part B - JavaScript 273
Réiteach ar Cheist 3
// CÉIM 1. Gin an cheist
// Gin 2 uimhir randamacha
let n1 = Math.floor(Math.random() * 10); // 0 <= n1 < 10
let n2 = Math.floor(Math.random() * 10); // 0 <= n2 < 10
// CÉIM 2. Cuir ceist ar an úsáideoir agus faigh freagra
// athraítear n1 agus n2 go teaghráin ionas gur féidir iad a thaispeáint mar chuid ...
// ... den teaghrán leide
let problemInWords = "What is "+ String(n1) + " + " + String(n2); // C1
console.log(problemInWords);
let userResponse = Number(prompt(problemInWords));
console.log("User entered %d", userResponse); // is chun críocha dífhabhtaithe sin
// CÉIM 3: Déan an freagra a phróiseáil
// Déan an freagra ceart a ríomh. Ansin...
// ... fad is go mbíonn freagra an úsáideora difriúil le freagra an ríomhaire ...
// ... inis don úsáideoir go bhfuil siad mícheart agus ...
// ... iarr freagra eile ar an úsáideoir
let correctAnswer = n1 + n2; // Déan an freagra ceart a ríomh
while (userResponse != correctAnswer) {
// C2 – glac leis go gciallaíonn freagairt dhiúltach nach bhfuil an freagra ar
eolas ag an úsáideoir
if (userResponse < 0) {
break; // scoir an lúb
} else {
// C3 – Freagra mícheart – taispeáin teachtaireacht randamach ón eagar
teachtaireachtaí
const messages = ["No! Please try again", "Wrong! Try once more", "Don't give
up!", "No! Keep trying", "That's incorrect"];
const r = Math.floor(Math.random() * messages.length);
console.log(messages[r]);
alert(messages[r]);
//console.log("Wrong answer! Try again.");
userResponse = Number(prompt(problemInWords));
}
}
// C2 – ní raibh an freagra ar eolas ag an úsáideoir, mar sin, inis an freagra dóibh
if (userResponse < 0) {
console.log("Answer not known. The correct answer was", correctAnswer);
alert("Answer not known. The correct answer was" + String(correctAnswer));
} else {
// CÉIM 4. Taispeáin teachtaireacht spreagúil a roghnaítear go randamach
const messages = ["Well done!", "Very good!", "Correct!", "Keep it up!", "Nice work!"];
const r = Math.floor(Math.random() * messages.length);
console.log(messages[r]);
alert(messages[r]);
}
Web Development Skills – Part B - JavaScript 274
Réiteach ar Cheist 4
// C4 fógair dhá eagar teachtaireachtaí
const correctMsgs = ["Well done!", "Very good!", "Correct!", "Keep it up!", "Nice work!"];
const incorrectMsgs = ["No! Please try again", "Wrong! Try once more", "Don't give up!", "No!
Keep trying", "That's incorrect"];
// C4 Sainmhínigh feidhm a ghineann agus a thaispeánann teachtaireacht randamach
function displayRandomMsg(messages) {
const r = Math.floor(Math.random() * messages.length);
console.log(messages[r]);
alert(messages[r]);
}
// CÉIM 1. Gin an cheist
// Gin 2 uimhir randamacha
let n1 = Math.floor(Math.random() * 10); // 0 <= n1 < 10
let n2 = Math.floor(Math.random() * 10); // 0 <= n2 < 10
// CÉIM 2. Cuir ceist ar an úsáideoir agus faigh freagra
// athraítear n1 agus n2 go teaghráin ionas gur féidir iad a thaispeáint mar chuid ...
// ... den teaghrán leide
let problemInWords = "What is "+ String(n1) + " + " + String(n2); // C1
console.log(problemInWords);
let userResponse = Number(prompt(problemInWords));
console.log("User entered %d", userResponse); // is chun críocha dífhabhtaithe sin
// Ríomh an freagra ceart
// CÉIM 3: Déan an freagra a phróiseáil
let correctAnswer = n1 + n2; // Déan an freagra ceart a ríomh
while (userResponse != correctAnswer) {
// C2 – glac leis go gciallaíonn freagairt dhiúltach nach bhfuil an freagra ar
eolas ag an úsáideoir
if (userResponse < 0) {
break; // scoir an lúb
} else {
// C3 – Freagra mícheart – taispeáin freagra randamach ón eagar
teachtaireachtaí
displayRandomMsg(incorrectMsgs); // C4
userResponse = Number(prompt(problemInWords));
}
}
// C2 – ní raibh an freagra ar eolas ag an úsáideoir, mar sin, inis an freagra dóibh
if (userResponse < 0) {
console.log("Answer not known. The correct answer was", correctAnswer);
alert("Answer not known. The correct answer was" + String(correctAnswer));
} else {
// CÉIM 4. Taispeáin teachtaireacht spreagúil a roghnaítear go randamach
displayRandomMsg(correctMsgs); // C4
}
Web Development Skills – Part B - JavaScript 275
Réiteach ar Cheist 5
Tá an réiteach iomlán comhdhéanta de na comhpháirteanna aonair seo a leanas. Fágtar mar
chleachtadh breise é iad a chur le chéile san ord ceart.
Comhpháirt A
// Fógair trí athróg uilíocha
let n1 = 0, n2 = 0, correctAnswer = 0, userResponse = 0;
let problemInWords;
// Fógair dhá eagar uilíocha de theachtaireachtaí
const correctMsgs = ["Well done!", "Very good!", "Correct!", "Keep it up!", "Nice work!"];
const incorrectMsgs = ["No! Please try again", "Wrong! Try once more", "Don't give up!", "No!
Keep trying", "That's incorrect"];
Comhpháirt B
// Is é seo príomhchorp an ríomhchláir.
// Ritheann an ríomhchlár fad is go bhfuil an bhratach 'goAgain’ fíor
let keepGoing = true;
while (keepGoing) {
generateQuestion();
getResponse();
processResponse();
let yesNo = prompt("Continue [Y/N]");
keepGoing = yesNo.toUpperCase() == "Y" ? true : false;
}
Comhpháirt C
// Feidhm chun an cheist a ghineadh
function generateQuestion(){
// Gin 2 uimhir randamacha
n1 = Math.floor(Math.random() * 10); // 0 <= n1 < 10
n2 = Math.floor(Math.random() * 10); // 0 <= n2 < 10
let correctAnswer = n1 + n2; // Déan an freagra ceart a ríomh
} // end generateQuestion
Comhpháirt D
// Feidhm chun freagairt a fháil
function getResponse() {
problemInWords = "What is "+ String(n1) + " + " + String(n2); // C1
console.log(problemInWords);
userResponse = Number(prompt(problemInWords));
console.log("User entered %d", userResponse); // is chun críocha dífhabhtaithe sin
} // end getResponse
Web Development Skills – Part B - JavaScript 276
Comhpháirt E
// Feidhm chun an fhreagairt a phróiseáil
function processResponse() {
// Fad is go mbíonn freagra an úsáideora difriúil le freagra an ríomhaire ...
// ... inis don úsáideoir go bhfuil siad mícheart agus ...
// ... iarr freagra eile ar an úsáideoir
while (userResponse != correctAnswer) {
if (userResponse < 0) {
break; // scoir an lúb
} else {
// Iontráladh an freagra mícheart.
displayRandomMsg(incorrectMsgs); // C4
userResponse = Number(prompt(problemInWords));
}
} // end while
if (userResponse < 0) {
console.log("Answer not known. The correct answer was", correctAnswer);
alert("Answer not known. The correct answer was" + String(correctAnswer));
} else {
// Iontráladh an freagra ceart.
displayRandomMsg(correctMsgs);
}
} // end processResponse
Comhpháirt F
// Feidhm a ghineann agus a thaispeánann teachtaireacht randamach
function displayRandomMsg(messages) {
const r = Math.floor(Math.random() * messages.length);
console.log(messages[r]);
alert(messages[r]);
} // end displayRandomMsg
Bain úsáid as an spás thíos chun cur síos a dhéanamh ar an gcaoi ar féidir na
comhpháirteanna thuas a eagrú ina réiteach a oibríonn.
Web Development Skills – Part B - JavaScript 277
Web Development Skills – Part B - JavaScript 278
Réiteach ar Cheist 6
Fógraímid athróg uilíoch nua don leibhéal deacrachta mar seo a leanas:
let difficultyLevel; // C6 fógartha ach neamhshainithe
Shainmhíníomar feidhm ar a dtugtar getDifficultyLevel chun an leibhéal deacrachta a léamh
ón úsáideoir deiridh, mar a thaispeántar thíos. Ní dhéanann an cód dada lena chinntiú gur 1 nó
2 atá sa luach a iontráladh. (Cén chaoi a bhféadfadh sin fadhbanna a chruthú ag am rite?)
// C6 Feidhm chun an leibhéal deacrachta a fháil
function getDifficultyLevel(){
// Gin 2 uimhir randamacha
let diffLevelQuestion = "Enter difficulty level (1 or 2)";
console.log(diffLevelQuestion);
difficultyLevel = Number(prompt(diffLevelQuestion));
} // end getDifficultyLevel
Taispeánann an bloc cóid thíos an glaoch ar getDifficultyLevel ag tús phríomhchorp lúibe an
ríomhchláir. Mar gheall go ndéantar an glao laistigh den chorp lúibe, tabharfar leid don úsáideoir
an leibhéal deacrachta a iontráil sula ngintear gach ceist nua.
let keepGoing = true;
while (keepGoing) {
getDifficultyLevel(); // C6
generateQuestion();
...
Ar deireadh, tá orainn an fheidhm a mhionathú chun an cheist a ghineadh bunaithe ar an
leibhéal deacrachta a iontráiltear.
// C6 Feidhm chun an cheist a ghineadh
function generateQuestion(){
if (difficultyLevel === 2) {
// Gin dhá uimhir randamacha idir 10 agus 99, an dá uimhir sin san áireamh
n1 = Math.floor(Math.random() * 90) + 10; // 10 <= n1 < 100
n2 = Math.floor(Math.random() * 90) + 10; // 10 <= n2 < 100
} else {
// Gin dhá uimhir randamacha idir 0 agus 9, an dá uimhir sin san áireamh
n1 = Math.floor(Math.random() * 10); // 0 <= n1 < 10
n2 = Math.floor(Math.random() * 10); // 0 <= n2 < 10
}
let correctAnswer = n1 + n2; // Déan an freagra ceart a ríomh
} // end generateQuestion
Web Development Skills – Part B - JavaScript 279
Réiteach ar Cheist 7
Tosaímid leis an bhfeidhm (getOperation) agus an athróg uilíoch (operation) a fhógairt a
úsáidfear chun an cineál oibríochta a iarrann an t-úsáideoir a fháil agus a stóráil.
let operation; // C7 is iad na luachanna bailí: +, -, * agis /
// C7 Feidhm chun an oibríocht a fháil
function getOperation(){
// Gin 2 uimhir randamacha
let operationQuestion = "Enter operation ('+', '-', '/' or '*')";
console.log(operationQuestion);
operation = prompt(operationQuestion);
} // end getOperation
Taispeánann an bloc thíos an glaoch ar getOperation á dhéanamh taobh amuigh den chorp
lúibe. Ciallaíonn sin nach n-iarrfar ar an úsáideoir an cineál oibríochta a iontráil ach uair amháin
(i.e. nuair a thosaíonn an ríomhchlár). Dá mbogfaí an glaoch ar getOperation taobh istigh
den chorp lúibe, thabharfaí leid don úsáideoir an cineál oibríochta do gach ceist a iontráil.
getOperation() // C7
while (keepGoing) {
getDifficultyLevel(); // C6
...
Mionathraítear an cód chun an athróg correctAnswer a shocrú chun luach na hoibríochta a
thástáil. Déantar é sin mar gheall go mbraitheann an ríomh ar an gcineál oibríochta a
roghnaítear
function generateQuestion(){
if (difficultyLevel === 2) {
// Gin dhá uimhir randamacha idir 10 agus 99, an dá uimhir sin san áireamh
n1 = Math.floor(Math.random() * 90) + 10; // 10 <= n1 < 100
n2 = Math.floor(Math.random() * 90) + 10; // 10 <= n2 < 100
} else {
// Gin dhá uimhir randamacha idir 0 agus 9, an dá uimhir sin san áireamh
n1 = Math.floor(Math.random() * 10); // 0 <= n1 < 10
n2 = Math.floor(Math.random() * 10); // 0 <= n2 < 10
}
// Ríomh an freagra ceart don oibríocht
if (operation === "+") {
correctAnswer = n1 + n2;
} else if (operation === "-") {
correctAnswer = n1 - n2;
} else if (operation === "*") {
correctAnswer = n1 * n2;
} else {
correctAnswer = n1 / n2;
}
Web Development Skills – Part B - JavaScript 280
Réiteach ar Cheist 8
Fógraímid trí athróg – nrRight, nrWrong, nrDontKnow agus túsaímid iad go léir chuig nialas.
let nrRight = 0; // C8 úsáidtear é chun an líon freagraí cearta a iontráiltear a
stóráil
let nrWrong = 0; // C8 úsáidtear é chun an líon freagraí míchearta a iontráiltear a
stóráil
let nrDontKnow = 0; // C8 úsáidtear é chun an líon freagraí anaithnide a stóráil
Taispeánaimid feidhm chun na staitisticí a thaispeáint
// C8 Feidhm chun na staitisticí deiridh a thaispeáint
function displayStats(){
console.log("Thank you for using Automated Math Tutor");
console.log("Statistics are:");
console.log("Correct:", nrRight);
console.log("Incorrect:", nrWrong);
console.log("Unknown:", nrDontKnow);
console.log("Goodbye!");
} // end displayStats
Glaoitear ar an bhfeidhm thuas ag deireadh an ríomhchláir – taobh amuigh den lúb while, mar
sin ní ghlaoitear uirthi ach uair amháin
displayStats();
Ar ndóigh, ní mór na staitisticí a rianú. Déantar sin trí incrimintí a chur leis na trí athróg sin ag na
pointí cuí sa chód. Fágtar suíomh ceart na dtrí líne sin mar dhúshlán deireanach.
nrRight++;
nrWrong++;
nrDontKnow++;
Web Development Skills – Part B - JavaScript 281
Réiteach Molta ar Ghníomhaíocht ar Leithligh #2
<!DOCTYPE html>
<html lang="en">
<head>
<title>Event Demo 5 - Guess Game v1</title>
<!-- import the web page's stylesheet -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Number guessing game</h1>
<p>Guess a number between min and max (incl.)</p>
<div>
<label for="low">Min: </label>
<input id="low" type="number" min="1" max="100" step="1" value="1">
<label for="high">Max: </label>
<input id="high" type="number" min="1" max="100" step="1" value="100">
</div>
<label for="guessField">Enter a guess: </label>
<input type="text" id="guessField">
<button id="submit-btn" type="button">Submit guess</button>
<button id="newgame-btn" type="button">New game</button>
<br>
<input id="showNumberCkBx" type="checkbox">
<label id="computerNumber"></label>
<div id="results">
<p id="rightOrWrong"></p>
<p id="lowOrHi"></p>
<p>Previous Guesses:</p>
<ul id="prevGuesses"></ul>
<p id="lowOrHi"></p>
</div>
<!-- import the web page's javascript file -->
<script src="EV-demo-5.1.js"></script>
</body>
</html>
Web Development Skills – Part B - JavaScript 282
Bristear síos an cód JavaScript sna seacht rannóg seo a leanas – is féidir iad a chur le chéile in
ord ar bith i ndiaidh an chéad cheann.
// Cruthaigh éisteoir le haghaidh an chnaipe 'Submit'
const submitBtn = document.getElementById("submit-btn");
submitBtn.addEventListener('click', checkGuess);
// Cruthaigh éisteoir le haghaidh an chnaipe ‘New game’
const newGameBtn = document.getElementById('newgame-btn');
newGameBtn.addEventListener('click', newGame);
// Cruthaigh éisteoir don ticbhosca chun an uimhir rúnda a thaispeáint
let checkbox = document.getElementById("showNumberCkBx");
checkbox.addEventListener('click', toggleNumber);
// Cruthaigh éisteoir don dá ghuairne (déanfaidh an ceann céanna cúis don phéire)
document.getElementById('low').addEventListener('change', setSecretNo);
document.getElementById('high').addEventListener('change', setSecretNo);
// Athróga uilíocha
const feedback = document.getElementById('rightOrWrong');
const guessField = document.getElementById('guessField');
let guessCount, secretNumber, minValue, maxValue;
// Tosaigh cluiche nua
newGame();
// Glaoitear ar an bhfeidhm seo ag tús an ríomhchláir
// Gníomhaíonn sí mar láimhseálaí an chnaipe ‘New game’ freisin
function newGame() {
minValue = Number(document.getElementById('low').value);
maxValue = Number(document.getElementById('high').value);
secretNumber = Math.floor(Math.random() * (maxValue - minValue +1)) + minValue;
guessCount = 0;
submitBtn.disabled = false;
newGameBtn.disabled = true;
document.getElementById('computerNumber').textContent = "";
document.getElementById("showNumberCkBx").checked = false;
document.getElementById('rightOrWrong').textContent = "";
document.getElementById("lowOrHi").textContent = "";
document.getElementById("prevGuesses").innerHTML = "";
document.getElementById("stats").textContent = "";
guessField.focus();
}
Web Development Skills – Part B - JavaScript 283
// Láimhseálaí don chnaipe 'Submit'
function checkGuess() {
let userGuess = Number(guessField.value);
//guesses.textContent += userGuess + ' ';
guessCount++;
if (userGuess === secretNumber) {
feedback.textContent = 'Congratulations!';
feedback.style.backgroundColor = 'green';
gameOver();
} else {
feedback.textContent = 'Wrong!';
feedback.style.backgroundColor = 'red';
}
// Taispeáin teachtaireacht a chabhróidh leis an úsáideoir
let helpfulMsgField = document.getElementById("lowOrHi");
if (userGuess < secretNumber) {
helpfulMsgField.textContent = 'Too low!' ;
} else if (userGuess > secretNumber) {
helpfulMsgField.textContent = 'Too high!';
if (userGuess === secretNumber) {
helpfulMsgField.textContent = 'Just right!';
}
// Taispeáin buille faoi thuairim gach úsáideora sa rannóg le haghaidh prevGuesses
let unorderedList = document.getElementById("prevGuesses");
let newListItem = document.createElement("li");
newListItem.textContent = guessField.value;
unorderedList.appendChild(newListItem);
guessField.value = '';
guessField.focus();
}
function gameOver() {
submitBtn.disabled = true;
newGameBtn.disabled = false;
displayStats();
}
function displayStats() {
// Taispeáin an líon buillí faoi thuairim
let statsPara = document.getElementById("stats");
statsPara.textContent = "You took "+guessCount+" guesses";
}
Web Development Skills – Part B - JavaScript 284
// Láimhseálaí don ticbhosca
function toggleNumber() {
const computerNumber = document.getElementById('computerNumber');
if (checkbox.checked) {
computerNumber.style.visibility = 'visible';
computerNumber.textContent = secretNumber;
} else {
computerNumber.style.visibility = 'hidden';
}
guessField.focus();
}
// Láimhseálaí le haghaidh na nguairní
function setSecretNo() {
minValue = Number(document.getElementById('low').value);
maxValue = Number(document.getElementById('high').value);
secretNumber = Math.floor(Math.random() * (maxValue - minValue +1)) + minValue;
// nuashonraigh an uimhir rúnda ar an bpainéal taispeána
document.getElementById('computerNumber').textContent = secretNumber;
}
Web Development Skills – Part B - JavaScript 285
AGUISÍNÍ
Eochairfhocail JavaScript
Taispeántar an liosta iomlán d’fhocail choimeádta JavaScript sa tábla thíos.
await debugger false instanceo
f this void
break default finally let throw while
case delete for new true with
catch do functio
n null try yield
class else if return typeof
const export import super undefine
d
continu
e extends in switch var
Eochairfhocail ECMAScript 2018
Ba cheart caitheamh leis na focail seo a leanas mar fhocail choimeádta freisin (cé nach focail
choimeádta iad)
true, false, let, null, undefined
boolean, byte, char, double, float, long,
arguments, eval, parseInt, parseFloat
Infinity, NaN, isNaN, isFinite,
Array, Boolean, Date, Error, Function, JSON, Math, Number,
Object, String
Nótaí:
1) Ba cheart duit na focail sin a sheachaint mar aitheantóirí d’athróga agus d’fheidhmeanna i
do ríomhchláir JavaScript.
2) Ní liosta críochnaitheach ar chor ar bith é an liosta thuas ach ba cheart go dtabharfadh sé
treoir mhaith duit.
3) Mura bhfuil tú cinnte, ba cheart duit dul i gcomhairle na tagartha teanga Mozilla JavaScript
Web Development Skills – Part B - JavaScript 286
Web Development Skills – Part B - JavaScript 287
Oibreoirí Uimhríochta
Oibreoirí Sannacháin Cumaisc
Tosaíocht Oibreoirí
Web Development Skills – Part B - JavaScript 288
Web Development Skills – Part B - JavaScript 289
Oibreoirí Comparáide
Oibreoirí Loighciúla agus Táblaí Fírinne
Tábla fírinne do NOT
loighciúil
Web Development Skills – Part B - JavaScript 290
Tábla fírinne do AND loighciúil Tábla fírinne do OR loighciúil
Modhanna Eagair Coitianta14
Ainm an Mhodha Cur Síos
arrA.concat(arrB) Tugann eagar nua atá comhdhéanta d’eilimintí arrA agus ansin
eilimintí arrB.
arrA.indexOf(item)
Tugann innéacs an chéad uair a fheictear an luach a
shonraíonn item in arrA. Sa chás nach bhfaightear item,
tugann an modh -1
arrA.lastIndexOf(item)
Ag tosú ón deireadh, tugann innéacs an chéad uair a fheictear
an luach a shonraíonn item in arrA. Sa chás nach bhfaightear
item, tugann an modh -1
arrA.join([separator])
Tugann na heilimintí go léir san eagar, iad comhcheangailte mar
theaghrán. Is camóg é luach réamhshocraithe an deighilteora
roghnaigh.
arrA.push(items) Iarcheanglaíonn eilimint amháin nó níos mó (mar a shonraítear
ag items) le deireadh an arrA agus tugann fad nua an eagair.
arrA.pop() Baineann an eilimint deiridh in arrA. Tugann an eilimint a
baineadh nó undefined sa chás go raibh an t-eagar folamh
arrA.shift() Baineann an chéad eilimint in arrA. Tugann an eilimint a
baineadh nó undefined sa chás go raibh an t-eagar folamh
arrA.unshift(items) Ionsánn eilimint amháin nó níos mó (mar a shonraítear ag
items) le tús arrA agus tugann fad nua an eagair.
arrA.sort() Sórtálann eilimintí an eagair ina n-áit agus tugann an t-eagar
sórtáilte (in ord aibítreach)
arrA.reverse() Sórtálann eilimintí an eagair ina n-áit agus tugann an t-eagar
sórtáilte (in ord aibítreach)
arrA.slice([i1, [i2])
Tugann eagar nua atá comhdhéanta d’eilimintí arrA ó i1 suas
go i2 ach gan i2 san áireamh. Sa chás nach sonraítear i1,
glactar leis gur nialas é; sa chás nach sonraítear i2, glactar leis
gur arrA.length é. Níl athrú ar inneachar an eagair bunaidh.
14 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
Web Development Skills – Part B - JavaScript 291
arrA.splice(i, [n,
[items]])
Cuireann/athchuireann/baineann eilimintí ó eagar i bhfeidhm. Is
é i an t-innéacs tosaigh, is é n an líon eilimintí atá le baint agus
is é items na heilimintí nua.
Tugann eagar nua le heilimintí ar bith a baineadh. (Sa chás
nach bhfuil eilimintí ar bith bainte, tugtar eagar folamh.)
Modhanna Dáta Coitianta15
Is féidir na modhanna seo a leanas a úsáid chun faisnéis a fháil ó oibiacht dáta d.
Ainm an Mhodha Cur Síos
d.getDate() Tugann an lá den mhí (1-31) don dáta sonraithe de réir an ama
áitiúil.
d.getDay() Tugann an lá den tseachtain (0-6) don dáta sonraithe de réir an ama
áitiúil.
d.getFullYear() Tugann an bhliain (4 dhigit le haghaidh blianta 4 dhigit) don dáta
sonraithe de réir an ama áitiúil.
d.getHours() Tugann an uair (0-23) don dáta sonraithe de réir an ama áitiúil.
d.getMinutes() Tugann na nóiméid (0-59) don dáta sonraithe de réir an ama áitiúil.
d.getMonth() Tugann an mhí (0-11) don dáta sonraithe de réir an ama áitiúil.
d.getSeconds() Tugann the soicindí (0-59) don dáta sonraithe de réir an ama áitiúil.
d.getTime()
Tugann luach uimhriúil an dáta shonraithe mar líon milleasoicindí ón
1 Eanáir, 1970, 00:00:00 UTC (diúltach maidir le hamanna roimhe
sin).
15 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
Web Development Skills – Part B - JavaScript 292
Modhanna Matamaitice Coitianta16
Modh Cur Síos Samplaí Toradh
Math.round(x);
Tugann x slánaithe suas nó
síos go dtí an tslánuimhir is gaire
Math.round(9.7); 10
Math.round(9.3); 9
Math.ceil(x); Tugann an tslánuimhir is gaire atá níos mó ná nó cothrom le x
Math.ceil(9.7); 10
Math.ceil(9.3); 10
Math.floor(x);
Tugann an tslánuimhir is gaire atá níos lú ná nó cothrom le x
Math.floor(9.7); 9
Math.floor(9.3); 9
Math.pow(x, y); Tugann x ardaithe i
gcumhacht y.
Math.pow(2,5); 32
Math.pow(5,2); 25
Math.sqrt(x); Tugann fréamh chearnach x Math.sqrt(25); 32
Math.sqrt(-25); NaN
Math.cbrt(x); Tugann fréamh chiúbach x Math.cbrt(64); 4
Math.cbrt(-64); -4
Math.abs(x); Tugann luach uimhriúil x Math.abs(25); 25
Math.abs(-25); 25
Math.max(x, …)
Tugann an t-uasmhéid de liosta d’uimhir amháin nó níos mó
Math.max(1,-2,-1); 1
Math.min(x, …)
Tugann an t-íossmhéid de liosta d’uimhir amháin nó níos mó
Math.min(1,-2,-1); -2
Tugtar roinnt samplaí den úsáid a bhaintear as Math.random sa tábla thíos:
Sampla Cur Síos
Math.floor(Math.random() * 10); Tugann slánuimhir 𝑟 ionas go:
0 ≤ 𝑟 < 10
Math.floor(Math.random() * 11); Tugann slánuimhir 𝑟 ionas go:
0 ≤ 𝑟 ≤ 10
Math.floor(Math.random() * 10) + 1; Tugann slánuimhir 𝑟 ionas go:
1 <= 𝑟 ≤ 10
16 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math
Web Development Skills – Part B - JavaScript 293
Modhanna Uimhris Coitianta17
Ainm an Mhodha Cur Síos
Number.isNaN(x)
Tugann true sa chás gur NaN é an luach a thugtar agus
gur Number é a chineál; i gcásanna eile, tugann false.
Number.isNaN("Joe") 🡪 false
Number.isNaN("999") 🡪 false
Number.isNaN(999) 🡪 false
Number.isNaN(9.99) 🡪 false
Number.isNaN(999/0) 🡪 false
Number.isNaN(Infinity) 🡪 false
Number.isNaN(NaN) 🡪 true
Number.isFinite(x)
Tugann true sa chás gur uimhir chríochta an uimhir a
sheachadtarh; tugann false seachas sin
Number.isFinite(“Joe”) 🡪 false
Number.isFinite(“999”) 🡪 false
Number.isFinite(999) 🡪 true
Number.isFinite(9.99) 🡪 true
Number.isFinite(999/0) 🡪 false
Number.isFinite(Infinity) 🡪 false
Number.isFinite(NaN) 🡪 false
Number.isInteger(x)
Tugann true sa chás gur slánuimhir (nó uimhir dheachúil
is féidir a chur in iúl mar shlánuimhir, e.g. 2.0) í an uimhir a
sheachadtar; tugann false seachas sin
Number.parseFloat(value)
Tugann uimhir shnámhphointe parsáilte ó value. Sa chás
nach féidir an value a athrú go huimhir, tugtar NaN
Tá an fheidhmiúlacht chéanna ag an modh seo agus atá
ag an bhfeidhm uilíoch parseFloat() :
Number.parseInt(value,
[base])
Tugann slánuimhir parsáilte ón value sa bhonnuimhir a
chuirtear ar fáil. Sa chás nach féidir value a athrú go
huimhir, tugtar NaN. Tá an fheidhmiúlacht chéanna ag an
modh seo agus atá ag an bhfeidhm uilíoch parseInt() :
17 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number
Web Development Skills – Part B - JavaScript 294
Oibríonn na modhanna seo a leanas ar shlonn uimhriúil ar bith x.
Ainm an Mhodha Cur Síos
x.toExponential() Tugann léiriú teaghráin x i nodaireacht easpónantúil
19.64738.toExponential() 🡪 1.964738e+1
x.toFixed(len)
Tugann léiriú teaghráin x le digití len i ndiaidh an phointe
dheachúlaigh
19.64738.toFixed() 🡪 20
19.64738.toFixed(1) 🡪 19.6
19.64738.toFixed(2) 🡪 19.65
19.64738.toFixed(3) 🡪 19.647
x.toPrecision(len)
Tugann léiriú teaghráin x slánaithe go dtí digití suntasacha len
19.64738.toPrecision(0) 🡪 19.64738
19.64738.toPrecision(2) 🡪 20
19.64738.toPrecision(4) 🡪 19.65
19.64738.toPrecision(6) 🡪 19.6474
Web Development Skills – Part B - JavaScript 295
Modhanna Teaghráin Coitianta18
Ainm an Mhodha Cur Síos
strA.concat(strB) Tugann teaghrán nua atá comhdhéanta de charachtair strA
agus ansin carachtair strB ina ndiaidh.
str.charAt(index)
Tugann teaghrán nua atá comhdhéanta den charachtar ag an
index sainithe sa str (nó teaghrán folamh sa chás go bhfuil
index thar teorainn)
str.charCodeAt(index) Tugann cód Unicode an charachtair ag an innéacs sainithe sa
str (nó NaN sa chás go bhfuil index thar teorainn)
str.toUpperCase() Tugann teaghrán nua ina bhfuil na litreacha ar fad sa str
aistrithe go cás uachtair
str.toLowerCase() Tugann teaghrán nua ina bhfuil na litreacha ar fad sa str
aistrithe go cás íochtair
str.indexOf(item
[,fromIndex])
Tugtar innéacs na chéad uaire a fheictear an luach a
shonraíonn item sa str. Mura sonraítear fromIndex,
tosaíonn an cuardach ag innéacs nialas. Sa chás nach
bhfaightear item, tugann an modh -1
str.lastIndexOf(item
[,fromIndex])
Ag tosú ag an deireadh (nó ag fromIndex) agus ag dul siar,
tugann an modh seo innéacs na chéad uaire a fheictear an
luach a shonraíonn item sa str. Sa chás nach bhfaightear
item, tugann an modh -1
str.slice([i1, [i2])
Tugann teaghrán nua atá comhdhéanta de charachtar str ó i1
go dtí i2 ach gan i2 san áireamh. Sa chás nach sonraítear i1,
glactar leis gur nialas é; sa chás nach sonraítear i2, glactar leis
gur str.length é. Níl athrú ar inneachar an teaghráin
bhunaidh.
str.replace(old, new) Gach uair a aimsítear old sa str, cuirtear new ina ionad.
str.split([separator]) Tugann eagar teaghrán deighilte ag an bpointe a shonraíonn an
separator
18 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String
Web Development Skills – Part B - JavaScript 296
str.trim()
Cruthaíonn teaghrán nua bunaithe ar str le spásanna bána
chun tosaigh agus chun deiridh bainte amach. Tabhair faoi
deara, ní bhaineann trimStart() ach spásanna bána chun
tosaigh amach agus ní bhaineann trimEnd() ach spásanna
bána chun deiridh amach
Web Development Skills – Part B - JavaScript 297
Tagairtí
Suíomhanna Gréasáin
Mozilla https://developer.mozilla.org/en-US/docs/Web/JavaScript
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference
Web
Demystified
https://www.youtube.com/playlist?list=PLo3w8EB99pqLEopnunz-dOOBJ8t-
Wgt2g
W3Schools https://www.w3schools.com/js/default.asp
TutorialsPoint https://www.tutorialspoint.com/javascript/
JavaScript.info https://javascript.info/js
Douglas
Crockford’s
JavaScript
http://crockford.com/javascript/
Oracle https://developer.oracle.com/javascript
geeksforgeeks https://www.geeksforgeeks.org/javascript-tutorial/
edX JavaScript
MOOC
https://courses.edx.org/courses/course-
v1:W3Cx+JS.0x+3T2018/course/
Glitch https://glitch.com/
ECMAScript
2018 Language
Specification
https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-
262.pdf
Leabhair/Nótaí
1) JavaScript The Definitive Guide, David Flanagan, O’Reilly, 2011
2) Heads First JavaScript Programming, Eric Freeman and Elisabeth Robson, O’Reilly, 2014
(Suíomh gréasáin a théann leis: https://www.wickedlysmart.com/hfjs/)
3) JavaScript and jQuery, Jon Duckett, Wiley and Sons, Inc. 2014
4) Tógtar go leo de na míthuiscintí coitianta a bhíonn ar scoláirí as “Misconceptions and the
Beginner Programmer” le Juha Sorva, a fheictear mar Chaibidil 13 in Computer Science
Education, Perspectives on Teaching and Learning in School, curtha in eagar ag Sentence,
Barendsen, and Schulte, Bloomsbury, 2018.
5) Tógtar go leor de na leideanna do mhúinteoirí as “Teaching Programming” le Michael E.
Caspersen, a fheictear mar Chaibidil 9 in Computer Science Education Perspectives on
Teaching and Learning in School, curtha in eagar ag Sentence, Barendsen, and Schulte,
Bloomsbury, 2018.
6) Professional Notes on Programming, Teaching and Learning, Joe English