Skip to content

Latest commit

 

History

History
155 lines (100 loc) · 8.56 KB

File metadata and controls

155 lines (100 loc) · 8.56 KB

Коддун түзүмү

Тилди коддун негизги курулуш блоктору менен үйрөнүп баштайлы.

Нускамалар

Нускамалар - бул синтаксистик түзүлүштөр жана аракеттерди аткаруучу буйруктар.

Биз "Салам, дүйнө!" билдирүүсүн көрсөткөн alert('Салам, дүйнө!') нускамасын көргөнбүз.

Биздин кодубузда биз каалагандай көп нускамалар болушу мүмкүн. Нускамаларды үтүрдүү чекит менен ажыратса болот.

Мисалы үчүн, биз бул жерде "Салам Дүйнө" билдирүүсүн эки alert'ке бөлдүк:

alert('Салам'); alert('дүйнө');

Адатта, кодду окууну жеңилдетүү үчүн нускамалар жаңы сапта жазылат:

alert('Салам');
alert('дүйнө');

Үтүрдүү чекиттер [#semicolon]

Көпчүлүк учурларда саптын үзүлүшү бар болсо, үтүрдүү чекит коюлбашы мүмкүн.

Мындай да иштейт:

alert('Салам')
alert('дүйнө')

Бул учурда, JavaScript саптын үзүлүшүн "айкын эмес" үтүрдүү чекит катары чечмелейт. Бул автоматтык үтүрдүү чекит коюу деп аталат.

Көпчүлүк учурларда, жаңы сап үтүрдүү чекитти билдирет. Бирок "көпчүлүк учурларда" "ар дайым" дегенди билдирбейт!

Жаңы сап үтүрдүү чекитти билдирбеген учурлар да бар. Мисалы:

alert(3 +
1
+ 2);

Код 6'ны чыгарат, анткени JavaScript бул жерге үтүрдүү чекиттерди койбойт. Эгерде сап "+" белгиси менен аяктаса, анда ал "бүтүрүлбөгөн туюнтма" экени интуитивдик түрдө ачык көрүнүп турат, андыктан үтүрдүү чекит керек эмес.

Бирок JavaScript керек болгон жерге үтүрдүү чекит коюуну "унутуп алган" жагдайлар бар.

Бул учурда пайда болгон каталарды аныктоо жана оңдоо абдан кыйын.

Эгер сиз мындай катанын айкын мисалын көргүңүз келсе, бул кодго көңүл буруңуз:

```js run
alert("Салам");

[1, 2].forEach(alert);
```

Азырынча `[]` кашааларынын жана `forEach`'тин мааниси жөнүндө ойлонуунун кажети жок. Аларды кийинчерээк изилдейбиз. Азырынча жөн гана бул коддун натыйжасын эстеп калыңыз: ал `Салам`, анан `1`, анан `2` көрсөтөт.

Эми `alert`'тен кийинки үтүрдүү чекитти алып салалы:

```js run no-beautify
alert("Салам")

[1, 2].forEach(alert);
```

Бул код жогорудагы коддон бир гана жагынан айырмаланат: биринчи саптын аягындагы үтүрдүү чекит жоголуп кетти.

Бул кодду жүргүзсөк, биринчи гана "Салам" көрсөтүлөт, андан кийин бир ката пайда болот (аны көрүү үчүн консолду ачышыңыз керек болушу мүмкүн).

Мунун себеби JavaScript `[...]` чарчы кашаасынын алдына үтүрлүү чекит койбойт. Андыктан акыркы мисалдагы код бир нускама катары аткарылат.

Кыймылдаткыч аны мынтип көрөт:

```js run no-beautify
alert("Салам")[1, 2].forEach(alert);
```

Укмуштай көрүнөт, туурабы? Мындай биригүү бул учурда туура эмес. Код туура иштеши үчүн `alert`'тен кийин үтүрлүү чекит коюшубуз керек.

Бул кээ бир башка жагдайларда да болушу мүмкүн.

Нускамалар жаңы саптар менен бөлүнгөн болсо да, алардын ортосуна үтүрлүү чекиттерди коюуну сунуштайбыз. Бул эреже программисттердин коомдоштугунда кеңири колдонулат. Дагы бир жолу белгилей кетели - көпчүлүк учурда үтүрлүү чекит койбоого болот. Бирок аны коюу, айрыкча үйрөнчүктөр үчүн коопсуз.

Жорумдар [#code-comments]

Убакыттын өтүшү менен программалар барган сайын татаалдашат. Код эмне кыларын жана эмне үчүн экенин сыпаттаган жорумдарды кошуу зарылчылыгы жаралат.

Жорумдарды скрипттин каалаган жерине жайгаштырса болот. Алар анын аткарылышына таасир этпейт, анткени кыймылдаткыч аларды жөн эле көңүлдөнбөйт.

Бир саптык жорумдар кош сызык // менен башталат.

Калган саптар жорум болуп саналат. Ал өзүнүн толук сабын ээлей алат же нускамадан кийин жайгашат.

Бул жердегидей:

// Бул жорум бүт сапты ээлейт
alert('Салам');

alert('Дүйнө'); // Бул жорум нускамадан кийин келет

Көп саптуу жорумдар жантык сызык жана жылдызчадан /* башталып, жылдызча жана жантык сызык */ менен аяктайт.

Мына бул жердегидей:

/* Эки билдирүү менен мисал.
Бул - көп саптуу жорум.
*/
alert('Салам');
alert('Дүйнө');

Жорумдун мазмуну көңүлдөнбөйт, ошондуктан /* ... */ ичине код киргизсек, ал аткарылбайт.

Кээде коддун бир бөлүгүн убактылуу өчүрүү үчүн ыңгайлуу болушу мүмкүн:

/* Кодду жорумдоо
alert('Салам');
*/
alert('Дүйнө');
Көпчүлүк редакторлордо коддун саптарын бир саптуу жорум үчүн `key:Ctrl+/` жана көп саптуу жорумдар үчүн `key:Ctrl+Shift+/` сыяктуу баскычтарды басуу аркылуу жорумдоого болот (коддун бир бөлүгүн бөлүп, баскычтар айкалышын басыңыз). Mac үчүн `key:Ctrl` ордуна `key:Cmd` жана `key:Shift` ордуна `key:Option` сынап көрүңүз.
Башка бир `/*...*/` ичинде `/*...*/` болушу мүмкүн эмес.

Мындай код ката менен "өлөт":

```js run no-beautify
/*
  /* камтылган жорум ?!? */
*/
alert( 'Дүйнө' );
```

Кодуңуздагы жорумдарды колдонуудан тартынбаңыз.

Жорумдар коддун көлөмүн көбөйтөт, бирок бул көйгөй эмес. Кодду өндүрүш серверине жарыялоодон мурун кичирейтүүчү көптөгөн куралдар бар. Алар иштөөчү скрипттерде камтылбашы үчүн жорумдарды алып салышат. Ошентип, жорумдар эч кандай жол менен иштөөчү кодго зыян келтирбейт.

Кийинчерээк колдонмодо жакшыраак жорумдарды жазууну түшүрдүргөн info:code-quality бөлүмү болот.