오늘은 조건문과 반복문 2개를 진행할 것이다!
truthy
와 falsy
가 조건문에서 작동하는 방식을 이해===
, !==
)에 대해 이해if
와 else if
, else
를 이해하고 무리 없이 활용&&
, ||
,!
, ...
) 통해 복잡한 조건을 간결하게 작성null == undefined => true
if(조건1) {
} else if (조건2) {
} ... else { }
비교연산자
(일치, 부등호)를 써 불린데이터를 도출할 수 있는 식을 작성논리연산자
를 작성AND
) => isStudent && isFemale, 학생이거나 여성일 때(OR
) 통과 => isStudent || isFemaleNOT 연산자
를 앞에 써줘 true
, false
반전 => !isStudent && isFemale6개 있음 아래 Boolean()
으로 파악해보기
console.log(Boolean(1)) // true
console.log(Boolean(0)) // false
console.log(Boolean(-1)) // true
console.log(Boolean(NaN)) // false
console.log(Boolean(undefined)) // false
length
속성을 활용해 문자열의 길이를 확인slice()
메서드를 활용해 문자열을 원하는 만큼 ‘복사’str.indexOf('a')
또는 str.lastIndexOf('a'),str[1]
includes()
메서드를 활용해 문자열 중 원하는 문자가 포함되어 있는지 알 수 있음 - str.includes('a')
split()
, join()
메서드를 활용해 문자열을 배열로 바꾸거나, 배열을 문자열로 바꿀 수 있음console.log('Code' + 'States') // 'CodeStates'
console.log('1' + 7) // '17'
let str = 'CodeStates'
console.log(str.length)
⭐️ String 메소드들은 원본이 수정되지않는(IMMUTABLE
) 메소드임! 즉, 바뀐 걸 하려면 변수를 재할당해줘야함!
str.indexOf(searchValue)
str.lastIndexOf(searchValue)
: 뒤에서부터str.includes(searchValue)
: 포함돼있는지의 불린 데이터 반환'Blue Whale'.indexOf('Blue'); // 0
'Blue Whale'.indexOf('blue'); // -1, 존재 X
'Blue Whale'.indexOf('Whale'); // 5
str.split(seperator)
let str = 'Hello World'
console.log(str.split(' '))
csv.split('/n')
) 다시 변수 선언 후 할당해 배열데이터에 인덱스 번호 붙이고 스플릿을 붙여(lines[0].split(',')
) 정보를 추출할 수 있음!str.substring(start, end)
str.slice(start, end)
랑 비슷, 차이점 있음! 근데! slice를 많이 씀! 알아놓자!!@let alpha = '가나다라마바사'
console.log(alpha.substring(-1, 3)) // 가나다라, -1은 0으로 취급
console.log(alpha.substring(1, 3)) // 나다라
console.log(alpha.substring(0, 20)) // 가나다라마바사
str.toLowerCase() / str.toUpperCase()
입력한 문자열 전체를 소문자화 / 대문자화
str.trim()
문자열 양끝의 공백을 제거
const greeting = ' Hello world! ';
console.log(greeting.trim()); // "Hello world!";
str.replace(교체대상, 교체문구)
문자열 삽입, 교체할 문구 선정, 선정된 첫번째문구를 교체 후 교체된 문구로 반환
const p = '닭 쫓던 원숭이 지붕 쳐다본다. 원숭이는?';
console.log(p.replace('원숭이', '개')); // 닭 쫓던 개 지붕 쳐다본다. 원숭이는?
.match()
, Math.~
${ }
, js template string)문자열쓸 때 변수도 넣어줄 수 있고 식도 넣어줄 수 있음
//
function computeDifference(num1, num2) {
return `${num1}, ${num2}의 차이는 ${Math.abs(num1 - num2)}입니다.`
}
// Math.floor 활용, 정규표현식 사용
function makeLastSeenMsg(name, period) {
if (period < 60) {
return `${name}: ${period}분 전에 접속함`
} else if (period < 24*60 && period >= 60) {
return `${name}: ${Math.floor(period/60)}시간 전에 접속함`
} else {
return `${name}: ${Math.floor(period/(60*24))}일 전에 접속함`
}
}