Lesson Weekend

You can call methods on strings, just like you can with numbers:

> "supercalifragilisticexpialidocious".toUpperCase();
"SUPERCALIFRAGILISTICEXPIALIDOCIOUS"

Or even call the method on a variable assigned to a string:

> var word = "foo";
undefined
> word.concat("bar");
"foobar"

Methods can be chained like this:

> "foo".concat("bar").toUpperCase();
"FOOBAR"

The concat() method (which concatenates, or combines, two strings) returns a string, which then has toUpperCase() called on it. Then, toUpperCase() returns the final result.

By the way, here's a nice shortcut for the concat() method:

> "I love" + " " + "Epicodus";
"I love Epicodus"

Or with variables:

> var sentiment = "I love ";
undefined
> var animal1 = "cats";
undefined
> var animal2 = "dogs;"
undefined
> sentiment + animal1;
"I love cats"
> sentiment + animal2;
"I love dogs"

Back to arguments. String methods can take numbers as arguments, too:

> "caterpillar".charAt(5);
"p"

Did you notice something funny about this example? What's the fifth character of the word "caterpillar"? Well, with the way we normally count, "c" is the first letter, and "r" is the fifth. But JavaScript says that the character at the 5th position is "p". That's because computers start counting at zero. So "c" is the zeroth letter, and "r" is the fourth.

Terminology


  • Chaining methods: Calling a method directly on the return value of another method.

  • Concatenation: Combining two Strings together into one String.

Methods


A few useful string methods:

  • charAt(); - Returns the character at a particular location in a String.
  • toUpperCase(); - Converts a String to uppercase.
  • toLowerCase(); - Converts a String to lowercase.
  • concat(); - Combines two strings.

Examples


You can call methods on strings, or variables assigned to strings:

"supercalifragilisticexpialidocious".toUpperCase();
var word = "foo";
word.concat("bar");

Methods can be chained (for strings, numbers, or anything else):

"foo".concat("bar").toUpperCase();

You can combine strings with + instead of concat(). This is still known as concatenation despite not using the concat() method:

"I love" + " " + "Epicodus";