In every NodeJS program there is an array named argv.

It contains the command line arguments to the program.

If the user types this in the Terminal:

node hello.js Alice Bob

then process.argv contains:



ARGV is a historical name. It means "Argument Vector" and has been around since the early 1970s.

What is an argument?

An argument is a variable that gets passed into a function to have some operation performed on it.

function sayHello(name) {
  console.log('Hello, ' + name)


In the preceding code block name is a variable which stands in for the argument, while 'Bill' is an argument to the sayHello function

LAB: Command-Line Hello

Open up your hello.js file and extend it to accept names from the argument vector

let name = process.argv[2]

and run it a few times from the Terminal, e.g.

node hello Alice
node hello Bob
node hello "good buddy"

LAB: Hi, Everybody!

Change hello.js to respond to every one of its command line arguments.

For instance:

node hi Alice Bob
Hello, Alice!
Hello, Bob!

Hi, Everybody! solution

let namesArray = process.argv.slice(2);

function hello(array) {
        console.log("Hello, " + name + "!")


LAB: Add

Write a program named add.js that adds all of its command line arguments together.


node add 1 2 3 4

Add solution

let numbers = process.argv.slice(2);

funtion add(array){
    let sum = 0
    let intArray = => parseInt(number))

    intArray.forEach(int => sum += int)

    return sum


 Previous Next