Vefforritun 1 kennd haustið 2025
try catch eða exceptionsthrow
Error, innbyggðan hlut sem heldur utan um villurthrow Error('villa');try catchtry {
// e-ð sem kastar villu
} catch (e) {
// gera e-ð í villu
}
finally getum við keyrt kóða hvort sem við grípum villu eða ekkitry {
// e-ð sem kastar villu
} catch (e) {
// gera e-ð í villu
} finally {
// taka til
}
Getum fengið upp villur þegar við köllum í innbyggð föll eða gerum eitthvað vitlaust
TypeError – villa þegar gildi er ekki af þeirri tegund sem við gerum ráð fyrirReferenceError – villa þegar reynt að eiga við óskilgreinda breytuinstanceof virkja sem athuga hvernig hlutur gildi er til að vita hvernig villa kom upptry {
/* ... */
} catch (e) {
if (e instanceof TypeError) {
console.log('TypeError', e);
} else if (e instanceof ReferenceError) {
console.log('ReferenceError', e);
}
}
Ekki:
try {
const setup = {};
const result = willThrow(setup);
const calc = result + 1;
} catch (e) {
// gera e-ð í villu
}
frekar:
let result = 0; // ef það er í lagi
try {
result = willThrow(setup);
} catch (e) {
// gera e-ð í villu
}
const calc = result + 1;
debugger er lykilorð sem við getum sett í kóðann okkarconsole.logSome people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems.
let r = new RegExp('segð', flags);let r = /segð/flags;segð er regluleg segð og flags er strengur sem stillir til hegðun^[0-9]{1,2}.*AB?C$
[] skilgreinir bil
[abcd], a, b, c eða d[0-9], allar tölur[a-z], ASCII lágstafir (unicode er vesen!)^ – byrjun strengs$ – endi strengs[^] skilgreinir bil sem við viljum ekki
[^a-c] ekki a–c\s – whitespace, bil, tab, nýlína.+ – einu sinni eða oftar.* – núll sinnum eða oftar.{n,m} – n til m sinnum? – Gæti verið eða ekkig - global, ekki stoppa eftir fyrstu niðurstöðui - ignore case, ekki vera hástafanæmm - multiline, ^ og $ virka milli línar.test(string)- athugar hvort ef r passi við stringr.exec(string) - keyrir r og skilar niðurstöðum í fylki fyrir hvern hóp innan svigastring.match(r) - svipað exec en ef g er sett fáum við alla strengi sem finnaststring.replace(r, newString) - skipta út öllum tilvikum þar sem r passar fyrir newString/halló/.test('halló heimur');
/hæ/.test('halló heimur');
const re = /quick\s(brown).+?(jumps)/ig;
re.exec('The Quick Brown Fox Jumps Over The Lazy Dog');
'The Quick Brown Fox Jumps Over The Lazy Dog'
.match(/quick\s(brown).+?(jumps)/ig);
'hæ hæ, hvað segiru? bæ!'
.replace(/(h|b)æ/g, 'lol');
Getur verið mjög hentugt að nota tól til að smíða reglulegar segðir, t.d. regex101.com