> x = "abcdefg" "abcdefg" > x[0] "a" > x.charAt(0) "a" > x[0] = "A" "A" > x "abcdefg" > x[0].toUpperCase() + x.substring(1) "Abcdefg" > x "abcdefg" > x.substring(1,3) "bc" > x.substr(1, 2) "bc" > x.startsWith("abc") true > x.startsWith("bcd") false > x.endsWith("defg") true > x.includes("def") true > x "abcdefg" > x.indexOf("bc") 1 > x "abcdefg" > x.indexOf("f") 5 > let pal = "amanaplanacanalpanama" undefined > pal.indexOf("p") 5 > pal.lastIndexOf("p") 15 > pal.indexOf("p", 7) 15 > "meow ".repeat(10) "meow meow meow meow meow meow meow meow meow meow " > "*"*40 NaN > "*".repeat(40) "****************************************" > "I hate spaces so I am going to get rid of 'em. '".replace(" ", "") "Ihate spaces so I am going to get rid of 'em. '" > "I hate spaces so I am going to get rid of 'em. '".replaceAll(" ", "") "IhatespacessoIamgoingtogetridof'em.'" > " 48 ".trim() "48" > Number(" 48 ".trim()) 48 > typeof Number(" 48 ".trim()) "number" > x = [ ] Array [] > x.push("cows") 1 > x Array [ "cows" ] > x[0] "cows" > x.push(42) 2 > x Array [ "cows", 42 ] > x.push(True) Uncaught ReferenceError: True is not defined debugger eval code:1 debugger eval code:1:1 > x.push(true) 3 > x Array(3) [ "cows", 42, true ] > y = x.push("cat") 4 > y 4 > x Array(4) [ "cows", 42, true, "cat" ] 0: "cows" 1: 42 2: true 3: "cat" length: 4 : Array [] > x[0] "cows" > x[1] 42 > x[2] true > //Indexing works the same for strings and arrays undefined > [1,2,3] + [4,5,6] "1,2,34,5,6" > [1,2,3].concat([4,5,6]) Array(6) [ 1, 2, 3, 4, 5, 6 ] > String([1,2,3]) "1,2,3" > //Difference: concat glues arrays, + is worthless undefined > let x = [1,2,3,4] undefined > x.includes(4) true > x.includes([3,4]) false > let sigorney = [1,2,3, [4,5,6]] undefined > //puzzler: how do I get 4 to print out? undefined > sigorney.length 4 > sigorney[3] Array(3) [ 4, 5, 6 ] > signorney[3][1] Uncaught ReferenceError: signorney is not defined debugger eval code:1 debugger eval code:1:1 > sigorney[3][1] 5 > sigorney[3][0] 4 > let y = ["cat", "elephant", "rhino"] undefined > y[1] "elephant" > y[1][3] "p" > y Array(3) [ "cat", "elephant", "rhino" ] > let z = y.pop() undefined > z "rhino" > y > Array [ "cat", "elephant" ] > let w = y.pop(0) undefined > w "elephant" > y Array [ "cat" ] > y.unshift("dog") 2 > y Array [ "dog", "cat" ] > z = [0,0,0,0,0,0,0,0,0,0] Array(10) [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] > z.fill(1) Array(10) [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] > z Array(10) [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ] > z.fill(2, 4) Array(10) [ 1, 1, 1, 1, 2, 2, 2, 2, 2, 2 ] > z.fill(3,2, 7) Array(10) [ 1, 1, 3, 3, 3, 3, 3, 2, 2, 2 ] > for(k of z){console.log(k);} 1 1 3 3 3 3 3 2 2 2 undefined