Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Is nesting possible in javascript?

I’m totally beginner on javascript, and actually training on javascript.

For the first time ever on my lessons, I saw a complete different writing of javascript code. Here it is :

let parentClicks = 0;
let childClicks = 0;

document
  .getElementById("parent")
  .addEventListener("click", function() {
  document
    .getElementById("parent-count")
    .innerText = (++parentClicks) + '';
});

document
  .getElementById("child")
  .addEventListener("click", function(e) {
  e.preventDefault();
  e.stopPropagation();
  
  document
    .getElementById("child-count")
    .innerText = (++childClicks) + '';
});

I was used to see nesting on HTML/CSS, but it’s the first time ever I see it on JS.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

Do these points mean this or they have a complete different meaning ? :

document.getElementById("parent")
document.addEventListener("click", function() {
  document.getElementById("parent-count")
  document.innerText = (++parentClicks) + '';
});

document.getElementById("child")
document.addEventListener("click", function(e) {
  e.preventDefault();
  e.stopPropagation();
  
  document.getElementById("child-count")
  document.innerText = (++childClicks) + '';
});

Thank you so much for reading and helping noobs like me.

>Solution :

JavaScript is very permissive about whitespace. For some sorts of syntactical constructs, putting a newline between them is the same as if there was no newline there. (It’s possible to write any JavaScript on only a single line of code, after all – it’s just that that’s unreadable)

This:

document
  .getElementById("parent")
  .addEventListener("click", function() {
  document
    .getElementById("parent-count")
    .innerText = (++parentClicks) + '';
});

is equivalent to

document.getElementById("parent").addEventListener("click", function() {
  document.getElementById("parent-count").innerText = (++parentClicks) + '';
});

It’s not the same as your document.addEventListener("click", function() { because your code adds a click listener to the document, not to the parent.

Where one decides to put newlines is often a purely stylistic choice, usually in an effort to make the code easier to understand at a glance. For example, one may well prefer to do this

let ranges = SpreadsheetApp.getActive()
    .createTextFinder("Example 1")
    .matchEntireCell(true)
    .matchCase(true)
    .matchFormulaText(false)
    .ignoreDiacritics(true)
    .findAll();

instead of

let ranges = SpreadsheetApp.getActive().createTextFinder("Example 1").matchEntireCell(true).matchCase(true).matchFormulaText(false).ignoreDiacritics(true).findAll();

even though they mean the exact same thing.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading