Обьектууд

ES6 -д обьектод ямар өөрчлөлтүүд орсонг хичээлд үзэх болно. Кодод

const name = 'e-surgalt.com';
const age = 30;

хувьсагчид байгаад эдгээрийг хувьсагчийн нэртэй ижилхэн обьектын талбарт олгоё гэвэл ES5

const obj = {
    name: name,
    age: age
};

гэж бичдэг. Одоо обьектыг консолд

console.log(obj);

гэж харуулъя.

Терминалаас webpack -ийг ажлуулаад хуудсаа хөтөч дээр нээгээд консолын цонхыг харвал

age, name талбаруудтай обьектыг үзүүлнэ. Кодод обьектын талбарууд түүнд утга олгож буй хувьсагчдын нэрүүд ижилхэн байгааг анхаарна уу. Үүнийг ES6 -д илүү хураангуйгаар

const obj = {
    name,
    age
};

гэж бичиж болдог. Өөрчлөлтөө хадгалаад хуудсаа шинэчилбэл өмнөхтэй яг адил үр дүнг авна. webpack нэгтгэсэн файлд ямар код гаргасанг харвал

өмнө нь бичсэнтэй ижил кодын генерац хийгдсэн байгаа.
Эндээс ES6 -д обьектын талбарууд түүнд утга олгох хувьсагчдын нэрүүд давхцаж байвал const obj = {name, age }; гэж зөвхөн обьектын талбаруудыг бичин өгч болно. Бусдыг интерпретатор өөрөө ойлгон хөрвүүлнэ.
Асуудлыг илүү ойлгох үүднээс арай өөр жишээн дээр авч үзье.

const createPerson = (name, surname) => {
    const fullname = surname + ' ' + name;
    return fullname;
};

console.log(createPerson('Дондог', 'Дулмаа'));

Хүний нэр, овгийг аваад бүтэн нэрийг буцаах createPerson функцийг үүсгэе. Хуудсыг шинэчилбэл консолд

гэж харуулна. createPerson функцээс fullname, surname, name талбаруудтай обьектыг авах хэрэгтэй болсон гэвэл кодыг

const createPerson = (name, surname) => {
    const fullname = surname + ' ' + name;
    return {
        fullname: fullname,
        surname: surname,
        name: name
    };
};

console.log(createPerson('Дондог', 'Дулмаа'));

гэж өөрчлөн хадгалаад хуудсаа шинэчилбэл

дээрх үр дүнг авна. Кодод талбар болон утгуудын хувьсагчдын нэр давхцаж байгаа болохоор түүнийг

const createPerson = (name, surname) => {
    const fullname = surname + ' ' + name;
    return { fullname, surname, name };
};

console.log(createPerson('Дондог', 'Дулмаа'));

гэж хураангуйлж бичээд өөрчлөлтийг хадгалаад хуудсаа шинэчилбэл өмнөхтэй яг ижил үр дүнд хүрнэ. ES6 -гийн обьектын бичлэгт орсон дээрх өөрчлөлт таны кодын хэмжээг ихээхэн багасган өгнө.
createPerson функцээс fullname, surname, name талбаруудаас гадна тухайн хүний ажлыг агуулсан талбарыг буцаах хэрэгтэй боллоо гэе. Үүнийг функцээр

const createPerson = (name, surname) => {
    const fullname = surname + ' ' + name;
    return {
        fullname,
        surname,
        name,
        getJob: function () {
            return 'Программист';
        }
    };
};

console.log(createPerson('Дондог', 'Дулмаа'));

авахаар хэрэгжүүлээд хуудсаа шинэчилбэл консолд

үзүүлэх обьектод ажлыг функцээр авна гэдэг нь харагдана. Тухайн хүний ажлыг авахын тулд createPerson функцээс буцаах обьектыг хувьсагчид хадгалаад түүний арга буюу getJob функцийг

const person = createPerson('Дондог', 'Дулмаа');
console.log(person.getJob());

гэж дуудна. Өөрчлөлтөө хадгалаад хуудсаа шинэчлээд консолыг харвал

гэж үзүүлнэ. Хүний ажлыг авч буй дээрх бичлэгийг ES6 -д хураангуйлан

const createPerson = (name, surname) => {
    const fullname = surname + ' ' + name;
    return {
        fullname,
        surname,
        name,
        getJob() {
            return 'Программист';
        }
    };
};

гэж бичиж болно. Бид өмнөх бичлэгээс : function хэсгийг хассанаар функцийн бичлэг програмчлалын бусад хэлүүдийнхтэй төстэй болон ирнэ. Өөрчлөлтөө хадгалаад хуудсаа шинэчлээд консолыг харвал өмнөхтэй ижил үр дүнг авна. Кодын ажиллагаа яг зөв хийгдэж байгаад итгэхийн тулд консолд үзүүлэх текстийг өөрчлөн шалгаарай. 
ES6 -д обьекттой ажиллах ажиллагааг эвтэйхэн болгосон чухал өөрчлөлтийг ойлгохын тулд кодыг

const person = createPerson('Дондог', 'Дулмаа');
console.log(person);

консолд обьектыг үзүүлэх байдлаар өөрчлөе. createPerson функцэд дамжуулсан параметрээр буцаах обьектод ямар нэгэн талбарыг нэмэх хэрэгтэй боллоо гэе. Үүнийг өмнө нь хэрхэн хийж байсныг

const createPerson = (name, surname, fieldName) => {
    const fullname = surname + ' ' + name;
    const person = {
        fullname,
        surname,
        name,
        getJob() {
            return 'Программист 1';
        }
    };
    person[fieldName] = 'Toyota';
    return person
};

const person = createPerson('Дондог', 'Дулмаа', 'car');
console.log(person);

кодоор тайлбарлая. createPerson функцээс буцаах обьектод нэмэгдэх car талбарын нэрийг параметрээр дамжуулна. Функц дотроо мэдэгдэж байгаа талбаруудаар person обьектыг үүсгээд дараа нь параметрээр ирсэн талбарыг person[fieldName] гэж обьектод нэмэн оруулна. Өөрчлөлтийг хадгалаад хуудсаа шинэчилбэл консолд үзүүлэх обьектод

car талбар нэмэгдсэн байгаа. Тэгвэл createPerson функцээс буцаах обьектод хоёр параметрээр бүрдэх талбарыг нэмнэ гэвэл ES5

const createPerson = (name, surname, fieldName, fieldPostfix) => {
    const fullname = surname + ' ' + name;
    const person = {
        fullname,
        surname,
        name,
        getJob() {
            return 'Программист 1';
        }
    };
    let finalFieldName = fieldName + fieldPostfix;
    person[finalFieldName] = 'Toyota';
    return person
};

const person = createPerson('Дондог', 'Дулмаа', 'car', '-name');
console.log(person);

гэж шинээр хувьсагч үүсгэн талбарын нэрийг бүрдүүлээд дараа нь обьектод нэмдэг байсан. Өөрчлөлтийг хадгалаад хуудсаа шинэчилбэл консолд үзүүлэх обьектод

хоёр параметрээр үүсгэсэн талбар орж ирнэ. ES5 -д ийм ажиллагааг хийх нь ажил ихтэйгээс кодын харагдах байдал сайнгүй нь илэрхий. Үүнийг EcmaScript 6

const createPerson = (name, surname, fieldName, fieldPostfix) => {
    const fullname = surname + ' ' + name;
    return {
        fullname,
        surname,
        name,
        getJob() {
            return 'Программист 1';
        },
        [fieldName + fieldPostfix]: 'Toyota'
    };
};

const person = createPerson('Дондог', 'Дулмаа', 'car', '-model');
console.log(person);

гэж бичдэг. Кодод ердөө [fieldName + fieldPostfix]: 'Toyota' мөрийг нэмсэн. [fieldName + fieldPostfix] бичлэг обьект дотор талбарын нэрийг шууд үүсгэн өгөх болно. Кодын ажиллагааг шалгахын тулд хоёрдахь параметрийн нэрийг -model болгон өөрчилсөн. Өөрчлөлтийг хадгалаад хуудсаа шинэчилбэл консолд үзүүлэх обьектод

параметрүүдээр үүсгэгдсэн талбар бий болсон байна. Дээрх ажиллагааг ES6 -д ямар амархан хийж байгааг анхаарна уу. Кодыг webpack утилит ES5 - руу хөрвүүлсэнг харвал

Обьектыг _defineProperty гэсэн функцээр дамжуулан гаргаж байгаа нь харагдана. Ажиллагааг ES5 - д универсал байдлаар хийх гэвэл нилээд төвөгтэй функцийг бичэхээр харагдаж байгаа нь bundle.js файлын кодоос тодорхой. Харин ES6 -д үүнийг ердөө ганцхан мөрөөр шийдвэрлэнэ.

Мэдээлэл таалагдсан бол найзуудтайгаа хуваалцаарай.

  Нээгдсэн тоо: 1144 Төлбөртэй

Директивт дамжуулж болох бас нэгэн параметр бол модификатор юм. Модификатр гэдгийг Үйл явцын модификаторууд /тохируулагч/ хичээлд үзснээр директивийн аргументийн араас цэгээр таслан өгч болох утгууд гэж ойлгож болно. Жишээ нь

<button v-on:click.prevent.stop="method">Button name</button>

бичлэг товч дээрх дарах үйл явцын v-on директивт prevent, stop модификаторуудыг дамжуулж байгаа. Иймээс бид өөрсдийн боловсруулсан директивтээ модификаторыг дамжуулан түүнтэй ажиллах боломжийг судлая.

  Нээгдсэн тоо: 1376 Бүртгүүлэх

ES6 хувилбарт бий болсон шинэ боломжуудыг судлах бэлтгэлийг Орчны тохиргоо хичээлээр үзсэн. Энэ хичээлээс ES6 хувилбарын шинэ боломжуудын талаар авч үзэж эхлэх ба хамгийн энгийн нь болох хувьсагчдад бий болсон шинэчлэлээс эхлэе.

const түлхүүр үг.

Javascript -ийн өмнөх хувилбаруудад хувьсагчийг var түлхүүр үгээр

var q = 1;
q = 2;
q = 'w';

үүсгээд цааш утгыг q = 2;, төрлийг q = 'w'; өөрчлөхөд ямар нэгэн асуудал үүсдэггүй. Гэвч Javascript -д утгыг нь солих боломжгүй тогтмол утга байдаггүй байсныг const түлхүүр үгээр зарлах боломжийг EcmaScript 6 -д бидэнд олгосон. Хэрвээ const түлхүүр үгээр

const MY_CONST = 1;
MY_CONST = 2;

MY_CONST тогтмолыг зарлаад дараа нь түүний утгыг өөрчлөх гэвэл webstorm тогтмолд утга олгох оролдлого хийлээ гэсэн алдааг заана. index.js файлын компиляцийг хийх гээд үзье.

  Нээгдсэн тоо: 2680 Төлбөртэй

Функцын тухай ойлголт

Функц – гэдэг нь программын дурын хэсгээс дуудан ажлуулах боломжтой Javascript кодын хэсэг. Функцыг ашиглахын тулд түүнийг эхлээд тодорхойлох хэрэгтэй. Функц давтагдахгүй нэртэй байх ёстой. Нэр өгөх дүрэм нь хувьсагчийн нэрийг өгөх дүрэмтэй ижилхэн. Функцыг тодорхойлох бичлэг нь ерөнхийдээ доорх хэлбэртэй байна.

function <функцын нэр> ([<параметрүүдийн жагсаалт>])
{
     JavaScript оператор;
     JavaScript оператор;
     . . .
     JavaScript оператор;

   [return <Буцаах утга>]
}

  Нээгдсэн тоо: 2527 Нийтийн

Хичээлүүдийг үзэхэд таньд текст засварлагч Notepad ++ тэгээд интернет хөтөч байхад л хангалттай.  Хичээлийн бүх жишээг өөрөө бичин туршин үзээрэй.

JavaScript-ийн бичлэгийн дүрэм

JavaScript –ийг үзэж эхлэхийн өмнө түүнийг бичлэгийн үндсэн дүрмүүдийг мэдэх хэрэгтэй. JavaScript ба Java -гийн бичлэгийн дүрэм C болон C++ ийнхтай адилхан. Хэрвээ та C-гийн төрлийн ямар нэгэн хэлийг мэддэг бол Javascript -ийг сурахад их амархан.    
Үндсэн дүрмүүдээс дурдвал

Үйл явдал /event/ тодорхой үйлдэл хийгдсэн талаар системд мэдэгддэг. Хэрвээ бид энэхүү үйлдлийг ажиглах хэрэгтэй бол яг энд…

Нээгдсэн тоо : 145

 

Манай төсөл олон хуудсуудтай болон тэдгээрийн хооронд динамикаар шилжилт хийж байгаа ч тухайн үед шилжилт хийгдсэн хуудаст тохирох…

Нээгдсэн тоо : 211

 

Зочин (Visitor) паттерн классуудыг өөрчлөхгүйгээр тэдгээрийн обьектуудын үйлдлийг тодорхойлох боломжийг олгоно. Зочин хэвийг ашиглахдаа классуудын хоёр ангилалыг тодорхойлно.…

Нээгдсэн тоо : 178

 

Лямбда-илэрхийлэл нь нэргүй аргын хураангуй бичилтийг илэрхийлнэ. Лямбда-илэрхийлэл утга буцаадаг, буцаасан утгыг өөр аргын…

Нээгдсэн тоо : 297

 

Кодийн сайжруулалт /рефакторинг/ хичээлээр програмийн кодоо react -ийн зарчимд нийцүүлэн компонентод салгасан.…

Нээгдсэн тоо : 326

 

Хадгалагч (Memento) хэв обьектын дотоод төлвийг түүний гадна гаргаж дараа нь хайрцаглалтын зарчмыг зөрчихгүйгээр обьектыг сэргээх боломжийг олгодог.

Нээгдсэн тоо : 334

 

Делегаттай нэргүй арга нягт холбоотой. Нэргүй аргуудыг делегатийн хувийг үүсгэхэд ашигладаг.
Нэргүй аргуудын тодорхойлолт delegate түлхүүр үгээр…

Нээгдсэн тоо : 406

 

Математикт харилцан урвуу тоонууд гэж бий. Ямар нэгэн тооны урвуу тоог олохдоо тухайн тоог сөрөг нэг зэрэг дэвшүүлээд…

Нээгдсэн тоо : 406

 

Төсөлд react-router-dom санг оруулан чиглүүлэгчдийг бүртгүүлэн тохируулсан Санг суулган тохируулах хичээлээр бид хуудас…

Нээгдсэн тоо : 482

 
Энэ долоо хоногт

Тэгш өнцөгт параллелепипедын диагнал түүний 3 ба 4 хэмжээтэй талстад 60 градусын өнцгөөр налсан бол диагоналын урт хэд вэ?

Нээгдсэн тоо : 1279

 

Суурийн радиус нь 4 см байх шулуун дугуй цилиндрийн нэг үзүүрээс зурагт үзүүлснээр хавтгайгаар огтлоход хамгийн урт байгуулагч нь 15 см, хамгийн богино байгуулагч нь 9 см болсон бол үүссэн биетийн эзэлхүүнийг ол.

Нээгдсэн тоо : 2926

 

тэнцэтгэл бишийг бод.

Нээгдсэн тоо : 203