Асновы мовы JavaScript: Аб'екты
Гэта працяг серыі артыкулаў пра асновы JavaScript.
- Першая частка: Тыпы даных
- Другая частка: Аб'екты
Аб'ект, як тып даных, складаецца з многіх значэнняў (альбо простых, такіх як лікі і радкі, альбо складаных, напрыклад іншых аб'ектаў), якія называюцца ўласцівасцямі аб'екта. Два асобных аб'екта ў JavaScript ніколі не будуць роўнымі, нават калі яны маюць роўны набор уласцівасцей.
Аб'екты ў JavaScript аб'яўляецца па наступнай схеме:
text1var <імя аб'екта> = { 2 <уласцівасць_1>:<значэнне>, 3 … 4 <уласцівасць_n>:<значэнне> 5};
Напрыклад:
text1var person = { 2 firstName: "Янка", 3 lastName: "Купала", 4 age: 20, 5 eyeColor: "шэры" 6};
Кожны раз, калі скрыпт спрабуе звярнуцца да ўласцівасці або метаду значэння простага тыпу, інтэрпрэтатар часова пераўтворыць яго ў аб'ект адпаведнага тыпу. Часовыя аб'екты, у якія пераўтворацца значэнні прымітыўнага тыпу, называюць аб'ектамі-абгорткамі. Адразу пасля звароту да ўласцівасці або метаду аб'ект-абгортка знішчаецца. Аб'екты-абгорткі ствараюцца толькі для значэнняў тыпу number, string і boolean.
Аб'ект тыпу String
Аб'ект String будзе мець тып даных object, калі ён створаны з дапамогай аператара new.
text1var str = "Гэта просты радок"; 2var s_O = new String("Аб'ект String"); 3 4typeof strLit; //string 5typeof s_O; //object
Праца з масівамі. Аб'ект Array
У JavaScript для захоўвання ўпарадкаваных даных выкарыстоўваецца структура даных масіў — Array. Элементы масіву нумаруюцца, пачынаючы з нуля. Існуе некалькі спосабаў аб'явы масіву:
text1var holidays = ["1 мая","7 чэрвеня","3 ліпеня"]; 2 3var holidays = new Array("1 мая", "7 чэрвеня", "3 ліпеня"); 4 5var holidays = new Array(3); 6holidays[0] = "1 мая"; 7holidays[1] = "7 чэрвеня"; 8holidays[2] = "3 ліпеня";
Памер масіву можа павялічвацца і памяншацца ў любы час. Атрыбут масіву length вызначае агульную колькасць элементаў масіву. У масіве могуць захоўвацца элементы любога тыпу.
text1var a = [23, "Ян", true, function() {alert("свет");}]; 2 3alert(a[1]); // Ян 4alert(a.length); // 4
Масівы пашыраюць аб'екты, так як прадугледжваюць спецыяльныя метады для працы са спарадкаванымі структурамі даных.
Праца з матэматыкай. Аб'ект Math
Для захоўвання матэматычных канстант і функцый у JavaScript прызначаны аб'ект Math. Калі вы ведаеце мову C++, то метады, з якімі працуе гэты аб'ект у JavaScript, аналагічныя матэматычным функцыям у С++. Гэты аб'ект не працуе з лікамі тыпу BigInt.
text1var x = Math.PI; 2var y = Math.sqrt(16); 3var z = Math.round(4.7);
Праца з датай і часам. Аб'ект Date
Для працы з датай і часам у JavaScript выкарыстоўваюцца аб'екты Date. Такія аб'екты могуць быць створаны толькі шляхам выкліку функцыі Date з выкарыстаннем аператара new. Некаторыя ўласцівасці аб'екта Date:
- Утрымліваюць дату ў выглядзе ліку мілісекунд, якія прайшлі з 01.01.1970.
- Нумарацыя месяцаў пачынаецца з 0.
- Калі перададзены два аргументы, адсутныя аргументы ўстанаўліваюцца ў стартавыя значэнні.
- Выклік функцыі Date без аператара
newверне радок з бягучай датай і часам.
Прыклады стварэння аб'екта Date:
text1// бягучая дата і час 2new Date(); 3 4/* колькасць мілісекунд, якія прайшлі з 01.01.1970 */ 5new Date(0); 6 7// 1982-09-19 8new Date(1982, 8, 19); 9 10// 2022-01-01 11new Date("January 1, 2022"); 12 13/* абедзве функцыі будуць утрымліваць дату 2021-02-01 */ 14new Date(2020, 13, 1); 15new Date(2021, 1, 1); 16 17// 2021-01-01 02:03:04 18new Date(2021, 0, 1, 2, 3, 4); 19
Некаторыя метады для працы з аб'ектамі тыпу Date:
| Метады | Апісанне |
|---|---|
| getFullYear() | Атрымаць год (з 4 лічбаў) |
| getMonth() | Атрымаць месяц (ад 0 да 11) |
| getDate() | Атрымаць лік месяца (ад 1 да 31) |
| getHours() getMinutes() getSeconds() | Атрымаць адпаведныя кампаненты часу |
| getDay() | Атрымаць дзень тыдня |
Каментары
(Каб даслаць каментар залагуйцеся ў свой уліковы запіс)