goit js hw 04
1.0.0
goit-js-hw-04リポジトリが作成されましたtask-номер_завдання.jsを含む別のファイルで作成されます。 <script type="module">を使用して、タスクコードを別のスコープで閉じ、識別子名の競合を回避します。 accountオブジェクトのメソッドにthisありません。
const account = {
owner : "Mango" ,
balance : 24000 ,
discount : 0.1 ,
orders : [ "order-1" , "order-2" , "order-3" ] ,
changeDiscount ( value ) {
discount = value ;
} ,
showOrders ( ) {
return orders ;
} ,
addOrder ( cost , order ) {
balance -= cost ;
orders . push ( order ) ;
} ,
} ;
account . changeDiscount ( 0.15 ) ;
console . log ( account . discount ) ; // 0.15
console . table ( account . showOrders ( ) ) ; // ['order-1', 'order-2', 'order-3']
account . addOrder ( 5000 , "order-4" ) ;
console . log ( account . balance ) ; // 19000
console . table ( account . showOrders ( ) ) ; // ['order-1', 'order-2', 'order-3', 'order-4']スクリプトを機能させるためにコンソールにある間違いを修正します。
const inventory = {
items : [ "Knife" , "Gas mask" ] ,
add ( itemName ) {
console . log ( `Adding ${ itemName } to inventory` ) ;
this . items . push ( itemName ) ;
} ,
remove ( itemName ) {
console . log ( `Removing ${ itemName } from inventory` ) ;
this . items = this . items . filter ( ( item ) => item !== itemName ) ;
} ,
} ;
const invokeInventoryAction = function ( itemName , action ) {
console . log ( `Invoking action on ${ itemName } ` ) ;
action ( itemName ) ;
} ;
invokeInventoryAction ( "Medkit" , inventory . add ) ;
// Invoking action on Medkit
// Adding Medkit to inventory
console . log ( inventory . items ) ; // ['Knife', 'Gas mask', 'Medkit']
invokeInventoryAction ( "Gas mask" , inventory . remove ) ;
// Invoking action on Gas mask
// Removing Gas mask from inventory
console . log ( inventory . items ) ; // ['Knife', 'Medkit']