오늘은 조건문과 문자열에 대해서 학습을 한 다음 페어프로그래밍을 통해 알고리즘 문제를 풀었다. 페어프로그램의 경우 유닛이 바뀔 때마다 같이 문제를 푸는 동기도 함께 바뀌는데 그래서 오늘은 새로운 동기와 함께했다.
아무래도 같이 문제를 풀다보니 더 재미있었고 집중도 잘 되는 거 같았다. 다만 오늘은 문제의 난이도가 좀 있었는데 둘 다 비전공자이고 초보자이다 보니 멘탈이 나간 점은 비밀...^_^;
오늘은 국취제 온라인교육, 정처기 등등 정신이 없다보니 당장 복습은 어려울 거 같지만 주말에 다시 한번 보려고 한다.
그래도 개념학습 후 바로 문제를 푸는 것이 코딩 실력에 좋은 영향을 주는 거 같아 기분이 아주 좋다. 팍팍해서 성장하자! 🚀
truthy
와 falsy
가 조건문에서 작동하는 방식을 이해할 수 있다.===
, !==
)에 대해 이해할 수 있다.if
와 else if
, else
를 이해하고 무리 없이 활용할 수 있다.&&
, ||
, !
...) 통해 복잡한 조건을 간결하게 작성할 수 있다.조건을 배우기 위해서는 Boolean 타입에 대한 이해가 필요하다.
let isAdult = true; // false
let isStudent = false; // true
비교 연산자
3 > 5; // false
9 < 10; // true
다양한 비교 연산자
>
초과<
미만>=
이상<=
이하===
같다!==
다르다아래 연산자들은 타입을 엄격하게 비교하지 않기에 사용하지 않는다.
==
같다!=
다르다★ JS 연산자 테이블을 참고하면 더 자세한 내용을 알 수 있다.
조건문 공식
if (조건1) {
// 조건1이 통과할 경우
} else if (조건2) {
// 조건1이 통과하지 않고
// 조건2가 통과할 경우
} else {
// 모든 조건이 통과하지 않는 경우
}
논리 연산자를 이용하면 두가지 조건을 한번에 적용할 수 있다.
// 학생이면서, 여성일 때 통과
isStudent && is Female;
// 학생이거나, 여성일 때 통과
isStudent || isFemale;
// 학생이 아니면서, 여성일 때 통과
!isStudent && isFemale;
!false // true
!(3>2) // false
true || true // true
true || false // true
false || false // false
true && true // true
true && false // false
false && false // false
!false // true
!(3>2) // false
!undefined // true
!'Hello' // false
기억해야 할 6가지 falsy 값
if (false)
if (null)
if (undefined)
if (0)
if (NaN)
if ('') - 빈 스트링: 아무런 값이 없는 문자열
Boolean값 출력하기
let age = 25;
console.log(19 < age)
let age = 17;
console.log(19 < age)
---
true
false
console.log('hello' === 'world')
console.log('hello' !== 'world')
---
false
true
NOT 연산자의 실습
false
를, false이면 true
를 반환한다. 2개 이상을 중첩하는 것도 가능하다.let isStudent = true;
let isFemale = false;
console.log(!!isStudent)
console.log(!!isFemale)
--
true
false
let isStudent = true;
let isFemale = false;
console.log(!!!isStudent)
console.log(!!!isFemale)
---
false
true
length
속성을 활용해 문자열의 길이를 확인할 수 있다.slice()
메서드를 활용해 문자열을 원하는 만큼 '복사'할 수 있다.str.indexOf('a')
또는 str.lastIndexOf('a')
,str[1]
includes ()
메서드를 활용해 문자열 중 원하는 문자가 포함되어 있는지 알 수 있다. str.includes('a')
split()
, join()
메서드를 활용해 문자열을 배열로 바꾸거나, 배열을 문자열로 바꿀 수 있다.Basic Usages - Accessing a Character
str[index]
var str = 'CodeStates';
console.log(str[0]); // 'C'
console.log(str[4]); // 'S'
console.log(str[10]); // undefined
str[0] = 'G';
console.log(str); // 'CodeStates' not 'GodeStates'
Basic Usages - Concatenating Strings
+
연산자를 쓸 수 있음var str1 = 'Code';
var str2 = "States";
var str3 = '1';
console.log(str1 + str2); // 'CodeStates'
console.log(str3 + 7); // '17'
str1.concat(str2, str3...);
의 형태로도 사용 가능length PROPERTY
var str = 'CodeStates';
console.log(str.length); // 10
str.indexOf(searchValue)
'Blue Whale' .indexOf('Blue'); // 0
'Blue Whale' .indexOf('blue'); // -1
'Blue Whale' .indexOf('Whale'); // 5
'Blue Whale Whale'.indexOf('Whale'); //5
'canal'.lastIndexOf('a'); // 3
str.split(seperator)
var str = 'Hello from the other side';
console.log(str.split(''));
// ['Hello', 'from', 'the', 'other', 'side']
let csv = `연도,제조사
모델,설명,가격`;
csv.split(',')
csv.split('\n')
str.substring(start, end)
var str = 'abcdefghij';
console.log(str.substring(0, 3)); // 'abc'
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 범위 전체
str.toLowerCase() / str.toUpperCase() ← IMMUTABLE
console.log('ALPHABET'.toLowerCase()); // 'alphabet'
console.log('alphabet'.toUpperCase()); // 'ALPHABET'