goit js hw 05
1.0.0
goit-js-hw-05task-номер_завдання.js استخدم <script type="module"> لإغلاق رمز المهمة في نطاق منفصل وتجنب تعارضات أسماء المعرفات. اكتب مصمم Account يقوم بإنشاء كائن login والبريد email . في prototype ، أعطى المصمم طريقة getInfo() ، والتي تخرج login والبريد email للكائن الذي تسبب في وحدة التحكم.
console . log ( Account . prototype . getInfo ) ; // function
const mango = new Account ( {
login : "Mangozedog" ,
email : "[email protected]" ,
} ) ;
mango . getInfo ( ) ; // Login: Mangozedog, Email: [email protected]
const poly = new Account ( {
login : "Poly" ,
email : "[email protected]" ,
} ) ;
poly . getInfo ( ) ; // Login: Poly, Email: [email protected] اكتب فئة User لإنشاء مستخدم مع الخصائص التالية:
name - خطage رقمfollowers - رقم تمت إضافة getInfo() ، والذي يستمد السطر: User ${ім'я} is ${вік} years old and has ${кількість фоловерів} followers
const mango = new User ( {
name : "Mango" ,
age : 2 ,
followers : 20 ,
} ) ;
mango . getInfo ( ) ; // User Mango is 2 years old and has 20 followers
const poly = new User ( {
name : "Poly" ,
age : 3 ,
followers : 17 ,
} ) ;
poly . getInfo ( ) ; // User Poly is 3 years old and has 17 followers اكتب فئة Storage التي ستنشئ كائنات لإدارة تكوين البضائع. عندما تتلقى المكالمة وسيطة واحدة - المجموعة الأولية من البضائع ، وتسجيلها في خاصية items .
أضف طرق الفصل:
getItems() - إرجاع مجموعة من البضائع الحاليةaddItem(item) - يحصل على عنصر جديد ويضيف إلى التيارremoveItem(item) - يحصل على البضائع ، وإذا كان هناك ، يحذفها من التيار const storage = new Storage ( [
"Нанітоіди" ,
"Пролонгер" ,
"Залізні жупи" ,
"Антигравітатор" ,
] ) ;
const items = storage . getItems ( ) ;
console . table ( items ) ; // [ "Нанітоіди", "Пролонгер", "Залізні жупи", "Антигравітатор" ]
storage . addItem ( "Дроїд" ) ;
console . table ( storage . items ) ; // [ "Нанітоіди", "Пролонгер", "Залізні жупи", "Антигравітатор", "Дроїд" ]
storage . removeItem ( "Пролонгер" ) ;
console . table ( storage . items ) ; // [ "Нанітоіди", "Залізні жупи", "Антигравітатор", "Дроїд" ] اكتب فئة StringBuilder . يستقبل معلمة واحدة على الإدخال - وهو سطر يكتب في خاصية _value .
أضف وظيفة الفصل التالي:
value getter - إرجاع الحقل الحالي _valueappend(str) - GET STR (سلسلة) ويضيف إلى نهاية _valueprepend(str) - GET STR (سلسلة) ويضيف إلى بداية _valuepad(str) - GET STR (سلسلة) ويضيف إلى البداية وفي نهاية _value const builder = new StringBuilder ( "." ) ;
builder . append ( "^" ) ;
console . log ( builder . value ) ; // '.^'
builder . prepend ( "^" ) ;
console . log ( builder . value ) ; // '^.^'
builder . pad ( "=" ) ;
console . log ( builder . value ) ; // '=^.^=' اكتب فئة Car مع هذه الخصائص والأساليب.
class Car {
/*
* Додай статичний метод `getSpecs(car)`,
* який приймає об'єкт-машину як параметр і виводить
* в консоль значення властивостей maxSpeed, speed, isOn, distance и price.
*/
/*
* Конструктор отримує об'єкт налаштувань.
*
* Додай властивості майбутнього екземпляра класу:
* speed - поточна швидкість, початкова 0
* price - ціна автомобіля
* maxSpeed - максимальна швидкість
* isOn - заведений автомобіль, значення true або false. Спочатку false
* distance - загальний кілометраж, спочатку 0
*/
constructor ( ) { }
/*
* Додай геттер і сеттер для властивості price,
* який буде працювати з властивістю ціни автомобіля.
*/
/*
* Додай код для того, щоб завести автомобіль
* Записує у властивість isOn значення true
*/
turnOn ( ) { }
/*
* Додай код для того, щоб заглушити автомобіль
* Записує у властивість isOn значення false,
* і скидає поточну швидкість в 0
*/
turnOff ( ) { }
/*
* Додає до властивості speed отримане значення,
* за умови, що результуюча швидкість
* не більше, ніж значення властивості maxSpeed
*/
accelerate ( value ) { }
/*
* Забирає від властивості speed отримане значення,
* за умови, що результуюча швидкість не менше нуля
*/
decelerate ( value ) { }
/*
* Додає в поле distance кілометраж (hours * speed),
* але тільки в тому випадку, якщо машина заведена!
*/
drive ( hours ) { }
}
const mustang = new Car ( { maxSpeed : 200 , price : 2000 } ) ;
mustang . turnOn ( ) ;
mustang . accelerate ( 50 ) ;
mustang . drive ( 2 ) ;
Car . getSpecs ( mustang ) ;
// maxSpeed: 200, speed: 50, isOn: true, distance: 100, price: 2000
mustang . decelerate ( 20 ) ;
mustang . drive ( 1 ) ;
mustang . turnOff ( ) ;
Car . getSpecs ( mustang ) ;
// maxSpeed: 200, speed: 0, isOn: false, distance: 130, price: 2000
console . log ( mustang . price ) ; // 2000
mustang . price = 4000 ;
console . log ( mustang . price ) ; // 4000