Primitives vs. Objects

JavaScript primitives versus objects, explained via code

by Jeremy Likness

HTML

<h1>
  JavaScript Primitives vs. Objects
</h1>
<p>
To really see what is going on, please open your console. 
</p>

JavaScript

(function () {

	// simple function that, well, does something to/with something passed to it 
	const doSomething = (payload, fn) => { fn(payload); };
  
  // here what we do is pass the parameter to the console logging function 
  doSomething('This should echo', console.log);

	// let's define a primitive 
	let text = 'Some text'; 
  
  // let's try to modify it 
  doSomething(text, text => text += ' appended to.');
  
  // did it work? 
  console.log(`The text after the call: ${text}`);
  
  // now encapsulate the primitive in an object 
  let textPayload = { text }; 
  
  // and modify it ...
  doSomething(textPayload, payload => payload.text += ' appended to.');
  
  // did it work? 
  console.log(`The text after the payload call: ${textPayload.text}`);
  
  // Q.E.D.

})();