Обьектууд

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 -д үүнийг ердөө ганцхан мөрөөр шийдвэрлэнэ.

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

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

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

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

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

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

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

vuex сан төслийн компонентуудын ажиллагаануудын хоорондын хамааралыг арилган бие даан ажиллах боломжийг бүрдүүлдэг. Getters -ийг ашиглах хичээлд vuex сангийн state, getters талбаруудыг ашиглан Counter , SecondCounter компонентуудыг бусад компонентуудаас хамааралгүйгээр ажилладаг болгосон. Counter , SecondCounter компонентууд одоо зөвхөн store -той харьцан ажиллах болсноор төслийн компонент хоорондын хамаарал багасан програмын ажиллагааны логик ойлгомжтой хөнгөн болохын дээр компонентуудыг дахин ашиглах боломж бүрдсэн.

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

Компонентыг бүртгүүлэх хичээлд компонентийн нэрийг 'my-counter' гэж мөр төрлөөр бичин өгсөн. Энэ нь зарим тохиолдолд асуудал үүсгэдэг. Жишээ нь та төсlлийн кодыг бичиж буй засварлагчид кодыг цэвэр байлгах ямар нэгэн хэрэгсэл /linter/ ашиглаж байвал нэрэнд хашилтыг хэрэглэвэл төслийн хэвээс хасагддаг тул үүнийг ашиглахгүй байх нь дээр. Иймээс VueJs -д компонентийн нэрийг үүсгэх өөр аргачлал байдаг. Компонентийн нэрийг өгөхдөө

            new Vue({
                el: '#app',
                components: {
                    'my-counter': component
                }
            });

хашилтанд my-counter гэж html кодод ашиглах тегийн нэрийг өгсөн байгаа.

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

React -д үйл явцыг хэрхэн боловсруулах талаар гүнзгийрүүлэн судлая. Үүний тулд Car компонентийн кодод Дарах нэртэй товчийг

import React from 'react'

const car = props => <div>
  <h3>Машиний нэр: {props.name}</h3>
  <p>Он: <strong>{props.year}</strong></p>
  <button>Дарах</button>
</div>

export default car

нэмэн өгөөд хуудсаа харвал

гэж харагдана.

Зөвлөмж: Хичээлийн материалыг бүрэн ойлгохын тулд React JS сан хичээлийн багцыг бүхэлд нь үзэхийг зөвлөе.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

функцийн уламжлалыг тооц.

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

 

утгыг ол.

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

 

prob04_103_01 ба prob04_103_02 векторууд перпендикуляр бол y -ийн утгыг ол.

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