//Declare a Variable ES5varuser={name: 'Erik',password: 'abcd',permissions: []}console.log(user);
// BLOCK SCOPE WITH LET ///////////////////////////////////////////////////////if(true){letuser={name: 'Erik',password: 'abcd',permissions: []};console.log(user+' inside the block');}console.log(user+' outside the block');
// Try to redefine ConstconstloggedIn=true;console.log(loggedIn);loggedIn=false;// Now try to change a property in const.constuser={name: 'Erik',password: 'abcd'permissions: []};// change property...user.password('efgh');console.log(user);// now try to update the whole objectuser={name: 'Adrian',password: 'poop',permissions:[]};//! ERROR
//ex 1let[newName,newPassword]=["James","bunny987"]// show destructuring with array to assign multiple variablesconsole.log(newName)console.log(newPassword)//ex 2letuser={name: 'Erik',password: 'abcd',permissions: [],updatePassword: function(newPassword='password'){this.password=newPassword;}}//ES5console.log('my name is '+user.name+'and my password is '+user.password);//ES6functiongreeting({name, password}){console.log('my name is '+name+' and my password is '+password);}greeting(user);
CONCISE OBJECT PROPERTIES AND METHODS
// EX 1 (shorten method definitions)//ES5letuser={name: 'Erik',password: 'abcd',permissions: [],updatePassword: function(newPassword='password'){this.password=newPassword;}//ES6letuser={name: 'Erik',password: 'abcd',permissions: [],updatePassword(newPassword='password'){this.password=newPassword;console.log('new pw is: '+this.password)}}user.updatePassword('boop');// Ex 2 (properties)letname='erik';letpassword='abcd';letuser={name, password};console.log(user);
//TEMPLATE LITERALS////////////////////////////////////////////////////////////////////////////////////////////letuser={name: 'Erik',password: 'abcd',permissions: [],updatePassword(newPassword='password'){this.password=newPassword;console.log('new pw is: '+this.password)}}console.log(`Hello. My name is ${user.name} and my password is ${user.password}!`)//ARROW FUNCTIONS//////////////////////////////////////////////////////////////////////////////////////////////////letuser={name: 'Erik',password: 'abcd',permissions: [],updatePassword(newPassword='password'){this.password=newPassword;console.log('new pw is: '+this.password)},autoPost(){setInterval(()=>{console.log(`${this.name}'s Status: Studying Javascript right now and it's tighhhhhht!`)},1000)},add(x,y)=>x+y;}user.autoPost()