Сінтаксічны цукар

From Wikipedia, the free encyclopedia

Remove ads

Сінтаксічны цукар (англ.: syntactic sugar) — гэта агульны тэрмін для дапаўненняў да сінтаксісу мовы праграмавання, якія не дадаюць новы функцыянал, а хутчэй робяць выкарыстанне мовы праграмавання больш зручным для чалавека. Звычайна гэта дадатковыя, не складаныя сінтаксічныя канструкцыі, часта падобныя на іншыя мовы праграмавання, да якіх мог прывыкнуць чалавек. Часам пад сінтаксічным цукрам разумеюць дадатковыя бібліятэкі, якія рэалізуюць гатовы функцыянал, выкарыстанне якіх патрабуе напісання невялікай колькасці кода і падключэння адпаведных бібліятэк. Сінтаксічны цукар дае праграмісту альтэрнатыўны спосаб напісання іншай сінтаксічнай канструкцыі, ужо даступнай у мове, і ў той жа час з'яўляецца больш зручным, карацейшым, падобным да іншага распаўсюджанага спосабу напісання або дапамагае пісаць праграмы ў добрым стылі. З фармальнага пункту гледжання сінтаксічны цукар нічога не змяняе і не дадае выразнасці мове, але можа значна палегчыць праграмісту апісанне некаторых аперацый. У той жа час сінтаксічны цукар, асабліва пры празмерным выкарыстанні, можа пагоршыць чытальнасць кода і ўскладніць яго абслугоўванне. Канструкцыі, якія з'яўляюцца сінтаксічным цукрам, можна лёгка перавесці ў канструкцыі асноўнага сінтаксісу.

Варта адзначыць, што паняцце сінтаксічнага цукру ў значнай ступені ўмоўнае. Яго выкарыстанне падразумявае, што з многіх сінтаксічных канструкцый можна вылучыць нейкі «базавы набор», які забяспечвае ўсю функцыянальнасць мовы. Тады дадатковыя сінтаксічныя сродкі, якія пры жаданні можна выразіць з дапамогай базавага набору, будуць сінтаксічным цукрам для гэтай мовы. Аднак многія канструкцыі ўзаемазамяняльныя, і не заўсёды можна дакладна сказаць, якія з іх з'яўляюцца базавымі, а якія дадатковымі.

Remove ads

Прыклады

Цыкл for...of у JavaScript

Прыкладам сінтаксічнага цукру можа быць цыкл for...of у JavaScript. Ён скарачае звыклы запіс перабору элементаў масіву, робячы яго больш выразным і лаканічным:

// Сінтаксічны цукар: 
for (let item of array) {
	console.log(item);
}

// Без цукру (эквівалент):
for (let i = 0; i < array.length; i++) {
	console.log(array[i]);
}

Абедзве канструкцыі выконваюць аднолькавую аперацыю, але другая патрабуе ручнога кантролю над індэксам і выглядае менш выразна. for...of не ўносіць новай логікі, а толькі спрашчае запіс, што характэрна для сінтаксічнага цукру.

Стрэлачныя функцыі ў JavaScript

Стрэлачныя функцыі (англ.: arrow functions) у JavaScript дазваляюць пісаць функцыі ў больш сціслай форме, захоўваючы аналагічную функцыянальнасць.

// Сінтаксічны цукар:
const square = x => x * x;

// Без цукру (эквівалент):
const square = function(x) {
	return x * x;
};
Remove ads

Спасылкі

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads