Here, I’d be itemizing, in bullets, new concepts I come across as I traverse the course.
keydown eventdata-* Global AttributeHTMLMediaElement.play() methodHTMLMediaElement.currentTime property. In fact, the HTMLMediaElement DOM interfacetransitionend DOM eventtransform-origin propertysetInterval() method<input type="range">.dataset javascript property from set data-* in HTMLdocument.documentElementCSSStyleDeclaration.setPropertyconsole.table over console.log for Arrays and ObjectsArray.prototype.reduce to count instances of values (from an array) in an objecttransform property is awesomeelement.classList.toggle()fetch() APIkeyup eventchange eventArray.prototype.some()Array.prototype.every()Array.prototype.find()Array.prototype.findIndex()Array.prototype.splice()mousemove eventmousedown eventmouseup eventmouseout event%s ==> for string interpolation%c ==> for stylingconsole.warn()console.error()console.info()console.assert()console.clear()console.dir()console.group() … console.groupEnd(), orconsole.groupCollasped() … console.groupEnd()console.count()console.time() … console.timeEnd()console.table()KeyboardEvent.key propertytimeupdate eventArray.splice() prototype.window DOM objectHTMLElement.offsetTop propertywindow.scroll*window.innerHeightArray.from()Array.slice()[...array] - spread.Array.concat()Object.assign(){...object} - object spread (introduced ES2018)_cloneDeep()localStorage
localStorage.setItem()localStorage.getItem()JSON.stringify()JSON.parse()HTMLFormElement.reset()Element.matches() methodEvent.preventDefault() methodthis => the element that you listened on.event.target => the element that the event got triggered on.MouseEvent.offsetXMouseEvent.offsetYArray.sortArray.map() can be chained multiple times together. I.e.array.map(someAwesomeFunction).map(anotherAwesomeFunction).map(theAwesomest);
Navigator interfaceMediaDevices interfaceURL interfacecreateObjectURL() methodNode.insertBefore() methodNode.firstChild propertycanplay eventcontenteditable attributeSpeechRecognition interfaceresult eventend eventGeolocation.watchPosition() methodParentNode.append() methodElement.getBoundingClientRect() methodWindow.scrollX, Window.scrollY propertiesSpeechSynthesisUterance interfaceSpeechSynthesis interfaceSpeechSynthesisVoice interfacevoiceschanged eventHTMLElement.offsetHeight propertyscroll eventmax-width but not widthEvent.stopPropagation() method can be used to stop further propagation of the action attached to the event in either the capture, or the bubbling phase.Element.addEventListener() method, options can be passed in to control event capturing and even something known as “Event Once” as thus:element.addEventListener('event', functionToRun, {
capture: true,
once: true
});
once removes the event listener from the element in the Element.removeEventListener() fashion immediately the event is triggered once.element.classList methods (add, remove, toggle, etc)&& and ||MouseEvent.pageXHTMLElement.offsetLeftelement.scrollLeftHTMLMediaElement.playbackRate propertyPop variables into object when console.loging like so:
const firstName = 'Kizito';
const lastName = 'Akhilome';
console.log({firstName, lastName});
Select form elements by selecting their name attributes
clearInterval() methoddocument.title = 'new value';new Date(timestamp)Date.prototypeEvent.isTrusted propertyNode.parentElement property