JavaScript түзуіндегі бейсақтаушы жақшалар

Жақшалар ( ) екі функцияны орындайды - таңбаларды топтастыру және қалта функциясы. Ал егер бізге топтастыру керек болса, бірақ қалтаға салмау керек болса, не істеу керек? Мұндай мәселені шешу үшін арнайы бейсақтаушы жақшалар (?: ) ойлап табылды - олар топтастырады, бірақ қалтаға салмайды.

Мысал

Келесі мысалда бірінші жақшалар бізге топтастыру үшін қажет, ал екіншілері - қалта үшін. Алайда, екеуі де жақшалар деректерді қалтаға сақтайды:

javascriptlet str = 'abab123';
let res = str.match(/(ab)+([1-9]+)/);

Нәтижесінде біздің қалталарымызда мыналар болады:

javascriptconsole.log(res[0]); // шығарады 'abab123'
console.log(res[1]); // шығарады 'ab'
console.log(res[2]); // шығарады '123'

Мысал

Бірінші жақша жұбы тек топтастыру үшін ғана, бірақ қалтаға салмау үшін жасайық:

javascriptlet str = 'abab123';
let res = str.match(/(?:ab)+([1-9]+)/);

Нәтижесінде бірінші қалтада біздің санымыз болады:

javascriptconsole.log(res[1]); // шығарады '123'