<문자열>
-문자열에 대하여
-연결문자열
-문자열의 속성과 메소드
-IMMUTABLE 과 MUTABLE
일상생활에서 확인할 수 있는, 모든 글자의 나열을 문자열이라고 합니다.
'컴퓨터'와 같은 단어 또는 '컴퓨터로 코딩을합니다.' 와 같은 문장도 문자열입니다.
그리고 코드 자체도 문자로 이루어져 있습니다.
컴퓨터는 코드와 문자열을 구분하기 위해서 작은 따옴표(')나 큰 따옴표(")를 사용하여 문자열을 구분합니다.
*문자열은 string입니다. 문자 하나는 character이며, char이라는 축약어로 부르기도 합니다. char가 포함된 메소드도 있습니다.
ex)
let str1 = 'abcd'
let str2 = "efg"
let str3 = '3'
console.log(str1 + str2); // 'abcdefg'
console.log(str3 + 5); // '35'
ex)
'1' + true // '1true'
'1' + 5 // '15'
'1' + [1,2,3] // '11,2,3'
ex)
let str = 'abcdefg'
console.log(str.length); // 7
ex)
let str = 'abcedfg';
console.log(str[0]); // 'a'
console.log(str[4]); // 'd'
console.log(str[8]); // undefined
index로 접근은 가능하지만 쓸 수는 없습니다.(read-only)
ex)
str[0] = 'z';
console.log(str); // 'abdefg' not 'zbcdefg'
ex)
'Blue Whale'.indexOf('Blue'); // 0
'Blue Whale'.indexOf('Whale'); // 5
'Blue Whale Whale'.indexOf('Whale'); // 5 두번연속으로 등장하는 경우 처음 등장한 index만 출력을합니다.
'Blue Whale'.indexOf('blue'); // -1 대소문자를 구분하기 때문에 없는 값이면 -1이라고 뜹니다.
'Blue Whale'.lastIndexOf('Whale'); // 5
'canal'.lastIndexOf('a'); // 3
ex)
let str = 'Hello from the other side';
console.log(str.split(' ')); // 빈공백을이용해서 잘라낸다.
// ['Hello', 'from', 'the', 'other', 'side']
ex)
let str = 'abcdefghij';
console.log(str.substring(0, 3)) // 'abc' 0부터 3사이의 문자들을 가져옵니다.3은 가져오지 않습니다.
console.log(str.substring(3, 0)) // 'abc' 순서를 바꿔도 정상적으로 작동합니다.
console.log(str.substring(1, 4)) // 'bcd'
console.log(str.substring(-1, 4)) // 'abcd' 음수는 0으로 취급합니다.
console.log(str.substring(0, 20)) // 'abcdefghij' index범위를 초과하면 마지막 문자까지 출력합니다.
ex)
console.log(ALPHABET.toLowerCase()); // 'alphabet;
console.log(alphabet.toUpperCase()); // 'ALPHABET'
ex1)
let str = 'blue whale' // undefined
str.substring(0,4) // "blue" -> substring으로 값이 'blue'가 떨어진다고 해도
str // "blue whale" -> str이 'blue'가 되진 않습니다.
ex2)
let str = 'blue whale' // undefined
str.toUpperCase() // "BLUE WHALE"
str // "blue whale"
*바뀐 값을 다시 대입을 하려면 새로 대입해 주는 방법밖에 없습니다.*
ex3)
str = str.substring(0,4)
str // "blue"
str = str.toUpperCase()
str // "BLUE"
예시를 통해 보면 str은 새로운 값을 리턴할 뿐 str은 변하지 않습니다.
string에 있는 모든 메소드는 원본을 건드리지 않습니다.
<반복문>
-반복문에 대하여
-for문
-while문
반복문은 같거나 비슷한 코드를 여러번 실행시켜야 할 경우에 쓰는 구문입니다.
코드에서 반복문이 없다면, 우리는 수백만 개의 정보를 처리하기 위해서 수백만 줄의 코드를 작성해야 합니다.
이런 단순한 반복을 보다 효율적이고 간결하게 할 수 있도록 하는 반복문을 사용합니다.
반복할 내용을 먼저 코드로 작성한 후, 반복한 조건을 코드로 작성합니다.
반복할 내용을 중괄호안에 넣어줍니다.
반복할 조건을 초기화,조건식,증감문 순으로 넣어줍니다.
ex반복문)
let sum = 1;
sum = sum + 2;
sum = sum + 3;
sum = sum + 4;
위의 내용을 조건문으로 풀어보겠습니다.
"sum과 숫자(n)의 합"을 "sum"에 대입하자! -> sum = sum + n
조건:
-숫자(n)는 2부터 시작한다. -> let n = 2
-숫자(n)는 4가 될때까지 반복한다. -> n <= 4 이 부분부터 조건문입니다.
-숫자(n)는 1씩 증가한다. -> n = n + 1 또는 n++ 로 표현합니다.
위의 내용을 반복문으로 작성해보겠습니다.
ex반복문)
let sum = 1;
for (let n = 1; n <= 4; n++) { //초기화;조건식;증감문 순서대로 작성합니다.
sum = sum + n //반복할내용을 작성합니다.
}
console.log(sum) //10
반복할 조건중 초기화,조건문은 따로적고 조건식만 괄호안에 넣어줍니다.
초기화는 while 바깥에 적어주고 증감문은 while 안쪽에 적어줍니다.
for문으로 할 수 있는건 while문으로 할 수있고, while문으로 할 수 있는건 for문으로 할 수 있습니다.
초기화가 필요없고 증감문이 필요없을때 while문을 사용합니다.
ex반복문)
let sum = 1;
let n = 2; //초기화값을 작성합니다.
while (n <= 4) { //조건식을 작성합니다.
sum = sum + 1; //반복할 내용을 작성합니다.
}
console.log(sum) // 10