Chapter1. 조건문
1-1 조건문
1-2 조건문 형식
1-3 논리 연산자Chapter2. 문자열
Chapter3. 반복문
3-1 반복문
3-2 반복문 형식
3-3 for 구문
3-4 while 구문
if
와 else if
, else
를 이해하고 무리 없이 활용할 수 있다.조건을 배우기 위해선 ...
Boolean타입 이해 필요
let isAdult = true; // 또는 false
let isStudent = false; // 또는 true
조건문은 어떠한 조건을 판별하는 기준을 만드는 것
3 > 5; // false
9 < 10; // true
'hello' === 'world'; // false
→ 비교의 결과는 늘 Boolean(true, false).
if (조건1) {
// 조건1이 통과할 경우
} else if (조건2) {
// 조건1이 통과하지 않고
// 조건2가 통과할 경우
} else {
// 모든 조건이 통과하지 않는 경우
}
✓ 조건에는 Boolean
으로 결과가 나오는 비교구문이 들어감
AND 연산자 : &&
동시에 두 조건을 만족해야 통과
학생이면서, 여성일 때 통과.
isStudent && isFemalre;
true && true // true
true && false // false
false && false // false
OR 연산자 : ||
둘중에 하나만 트루여도 통과
학생이거나 여성일 때 통과.
isStudent || isFemale;
true || true // true
true || false // true
false || false // false
NOT 연산자 : !
true 혹은 false의 값을 반전시킨다.
학생이 아니면서, 여성일 때 통과
! isStudent && isFemale;
!false // true
!(3>2) // 3이 2보다 큰 건 true이므로 false가 나온다.
!false // true
!(3>2) // false
!undefined // true
→ undefined를 flase로 취급했음.
!'Hello' // false
3-1. 기억해야할 6가지 falsy 값
다음은 if문에서 false로 변환되므로, if구문이 실행되지 않습니다.
if (false)
if (null)
if (undefined)
if (0)
if (NAN)
if ('')
length
속성을 활용해 문자열의 길이를 확인할 수 있다.slice()
메서드를 활용해 문자열을 원하는 만큼 ‘복사’할 수 있다.str.indexOf('a')
또는 str.lastIndexOf('a')
,str[1]
includes()
메서드를 활용해 문자열 중 원하는 문자가 포함되어 있는지 알 수 있다. str.includes('a')
split()
, join()
메서드를 활용해 문자열을 배열로 바꾸거나, 배열을 문자열로 바꿀 수 있다.문자열은 ...
마치 배열에 index에 접근하듯이 문자열의 한 글자, 한 글자를 얻어낼 수 있다.
let str = 'codeStates';
console.log(str[0]); // 'c'
console.log(str[4]); // 's'
console.log(str[10]); // undefined
index로 접근은 가능하지만 쓸 수는 없다.(read-only)
str[0] = 'G';
console.log(str); // 'codeStates' not 'GodeStates'
+연산자를 쓸 수 있다.
string타입과 다른 타입 사이에 +연산자를 쓰면, string 형식으로 변환(toString)
let str1 = 'code';
let str2 = "states";
let str3 = '1';
console.log(str1 + str2); // 'codeStates'
console.log(str3 + 7); // '17'
length
property : 문자열의 전체 길이를 반환함.
str.indexOf(searchValue);
arguments : 찾고자 하는 문자열
return value : 처음으로 일치하는 Index, 찾고자 하는 문자열이 없으면 -1
lastIndexOf는 문자열 뒤에서 부터 찾음
ex)
'Blue Whale'.indexOf('Blue'); // 0
0번째 index부터 Blue가 떨어지므로 0
'Blue Whale'.indexOf('blue'); // -1
찾고자 하는 문자열이 없으므로 -1
'Blue Whale'.indexOf('Whale'); // 5
Whale이란 String이 있고, 이게 처음 등장하는 건 5번째부터 등장하므로 5
'Blue Whale Whale'.indexOf('Wha;e'); // 5
2번연속으로 등장하는 경우엔 처음 등장하는 index만 출력한다.
'cana1'.lastIndexOf('a'); // 3
뒤에서부터 찾는다. l, 'a'가 3번째에 오므로 3.
see more: str.includes(searchValue);
true / flase를 리턴함
str.split(seperator);
split : 분리하다.
즉, arguments엔 분리 기준이 될 문자열이 들어감
return value : 분리된 문자열이 포함된 배열
split(’ ’)은 공백을 기준으로 문자열을 분리하여 배열로 리턴
let str = 'Hello from the other side';
console.log(str.split(' '));
// ['Hello', 'from', 'the', 'other', 'sied']
→ csv 형식을 처리할 때 유용.
str.substring(start, end)
텍스트 부분만 가져오고 싶을 때 사용let str = 'abcdefghij';
console.log(str.substring(0, 3)); // 'abc'
0부터 3 사이의 문자를 가져오는데 3은 가져오지 않음. 0,1,2만 가져온다.
console.log(str.substring(3, 0)); // 'abc'
console.log(str.substring(1, 4)); // 'bcd'
1,2,3을 가져온다. b,c,d.
console.log(str.substring(-1, 4)); // 'abcd', 음수는 0으로 취급
see more: str.slice(start, end);
-> substring과 비슷하나 몇가지 차이점이 있음
str.toLowerCase();
/ str.toUpperCase();
IMMUTABLEconsole.log('ALPHABET'.toLowerCase()); // 'alphabet'
반복문은 ...
반복할 내용을 먼저 작성한다
반복할 조건을 코드로 작성한다
let sum = 1;
sum = sum + n; // "sum과 숫자(n)의 합"을 sum에 대입
조건:
let n = 2; //숫자(n)는 2부터 시작한다
n <= 4; // 숫자(n)가 4가 될때까지 반복한다
n = n + 1; // 숫자(n)는 1씩 증가한다
console.log(sum);
반복할 내용을 중괄호 block안에 넣어준다
반복할 조건을 초기화, 조건식, 증감문 순으로 넣어준다.
ex)
for (초기화; 조건식; 증감문) {
실행할 코드
}
for (1부터 시작; 9가 될 때까지; 1씩 증가하면서 코드 실행) {
실행할 코드
}
function mulTablePrinter(num) {
for (let n = 1; n <= 9; n = n + 1) {
console.log(num * n)
}
}
if문처럼 안에 조건문만 따로 적어준다.
for문으로 할 수 있는건, while로도 할 수 있다.
초기화가 필요없고 증감문이 필요없는 때에 while 쓰는 것도 좋다.
for문 : 반복 횟수가 명확할 때
while : 반복 횟수가 명확하진 않을 때.
+) 이중 반복문을 이용한 구구단 출력
반복문 안에서 반복문을 중복해서 사용
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
...
9 * 8 = 72
9 * 9 = 81
이렇게 2단부터 9단까지의 구구단을 한 번에 출력하려면...
function mulTablePrinter() {
for(let n = 2; n <= 9; n = n + 1) {
for(let m = 1; m <= 9; m = m + 1) {
console.log(`${n} * ${m} = ${n * m}`)
}
}
}
mulTablePrinter()