JavaScript Interview Question #46: Length of JS functions
Coderslang: Become a Software Engineer

Coderslang: Become a Software Engineer @coderslang

About: Teaching you to code at js.coderslang.com - JavaScript, HTML, CSS, Node.js, React.js, React Native

Joined:
Nov 27, 2020

JavaScript Interview Question #46: Length of JS functions

Publish Date: Jun 7 '21
65 10

javascript interview question #46

What's the value of the length field for JavaScript functions? What will be logged to the console?

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

A lot of JavaScript entities have the length field.

For example, it holds the total number of element in JavaScript arrays.

const arr = ['a', 'b', 'c'];
console.log(arr.length);    // 3
Enter fullscreen mode Exit fullscreen mode

For strings — it’s the number of characters. Literally, the length of a string.

const welcomeMessage = 'Hello!';
const goodbyeMessage = 'Goodbye!';
const emptyString = '';

console.log(welcomeMessage.length);  // 6
console.log(goodbyeMessage.length);  // 8
console.log(emptyString.length);     // 0
Enter fullscreen mode Exit fullscreen mode

Regular objects don’t have the length field by default.

const user = { name: 'Jack', age: '32'};
console.log(user.length);  // undefined
Enter fullscreen mode Exit fullscreen mode

But the functions do have it! And it holds not the "length of a function", which is hard to define, but rather the number of function parameters.

const sum = (a, b) => a + b;
const log = (s) => console.log(s);
const noop = () => {};

console.log(sum.length);  // 2
console.log(log.length);  // 1
console.log(noop.length); // 0
Enter fullscreen mode Exit fullscreen mode

ANSWER: The length field holds the number of parameters for all JavaScript functions. Thus, the output is

1
0
Enter fullscreen mode Exit fullscreen mode

As the function sayHello has one parameter and the function confirmSubscription has zero parameters.

Learn Full-Stack JavaScript

Comments 10 total

  • Coderslang: Become a Software Engineer
    Coderslang: Become a Software EngineerJun 7, 2021

    Thank you for noticing the error 🙏.

    You're absolutely right.

    I've fixed the typo.

  • Manav Misra
    Manav MisraJun 8, 2021

    Not denigrating the post at all. This is something that would come up in an interview potentially...but, why? What does this prove to anyone about someone's ability to write useful JS code that is clean, easy to follow, and adheres to best practices and architecture?
    Again, not being negative about the article - this is probably an interview question. The question is just why it is?

    • leob
      leobJun 8, 2021

      As an interview question this would be ridiculous, but as a quirky fun fact it's great! But, an employer or a company who expects me to know something like this, and values this kind of knowledge, no I definitely don't want to work for that kind of employer.

      • Coderslang: Become a Software Engineer
        Coderslang: Become a Software EngineerJun 8, 2021

        You'd never be dumped just for not knowing this stuff. All knowledge is valuable.

        And your reaction to the questions you don't know is a good indicator of how you'll tackle the difficulties on your job.

        • leob
          leobJun 8, 2021

          Well maybe, but some knowledge is arguably more valuable than others - I'm just saying that if an employer really attaches great importance to this sort of knowledge, then it's a red flag for me and I'd probably not want to work for that employer - it tells me something about their "culture". But, it does depend on the way they ask it, and on their intentions when asking it.

    • Coderslang: Become a Software Engineer
      Coderslang: Become a Software EngineerJun 8, 2021

      There are millions of different interview styles. My goal with these posts is to help Junior devs uncover their weaknesses and be better prepared for their next interview.

Add comment