조건문은 어떤 조건을 판별하는 기준을 만드는 것이다.
조건에는 결과가 Boolean으로 나오도록 하는 표현식 or 비교구문을 쓴다.
if (조건1) {
// 조건1이 참일 경우 실행할 코드
} else if (조건2) {
// 조건1이 참이 아니고 조건2가 참일 경우
} else {
// 모든 조건이 참이 아닐 경우
}
비교연산자(comparison operator)
비교연산자 => 비교의 결과는 Boolean (true 또는 false)
비교연산자에는 >, <, >=, <=, ===, !==
가 있다. ( ==, !=
는 사용하면 안된다. )
조건문에는 반드시 비교연산자가 필요하다.
논리연산자(logical operator)
- &&
(AND) : 둘 다 모두 ture일 때, true 반환, 그렇지 않으면 false를 반환
- ||
(OR) : 하나라도 true이면 true를 반환, 그렇지 않으면 false를 반환
- !
(NOT) : true이면 false로, false면 true로 반환, 두개 이상 중첩 가능
논리 연산자의 결과에는 Boolean이 아닌 값이 들어갈 수 있다.
// 기억해야할 6가지 falsy 값
if(false)
if(null)
if(undefined)
if(0)
if(NaN)
if('')
+ Javascript 제곱 구하는 방법 3가지
num * num // 여기서 num은 임의의 숫자
num ** 2
Math.pow(num, exponent) // exponent = 지수
문자열 : string
, 문자 : character
or char
str[index]
: index는 0부터 시작 ( index로 접근 가능하지만 수정 불가능, read-only)
let str = 'Study';
console.log(str[0]); // 'S'
console.log(str[3]); // 'd'
console.log(str[10]); // undefined
문자열 + 문자열
문자열 타입 + 다른 타입
: 모두 string 형식으로 변환
let str1 = 'abc';
let str2 = 'def';
let str3 = '1'
console.log(str1 + str2); // 'abcdef'
console.log(str1 + 123); // 'abc123'
console.log(str3 + 1); // '11'
.length
: 문자열의 전체 길이 반환let str = 'abcdef'
console.log(str.length); // 6
.indexOf()
str.indexOf(searchElement)
: 문자열 내에 지정된 요소가 위치하고 있는 첫 번째 index를 반환
str.lastIndexOf
: 문자열 뒤에서부터 지정된 요소가 위치하고 있는 index를 찾아 반환
+ 지정된 요소가 문자열 내에 존재하지 않으면 -1
반환
let str = 'abcdefa'
console.log(str.indexOf('c')); // 2
console.log(str.indexOf('z')); // -1
console.log(str.lastIndexOf('a')); // 6
.split()
str.split(sepeartor)
: 문자열을 지정한 구분자를 이용하여 문자열을 나눈 후, 배열을 만들어 반환
let str = 'I love coffee';
str.split(' ') // ['I', 'love', 'coffee']
// 공백을 기준으로 문자열을 나눈다
( + CSV 형식을 처리할 때 유용하다. )
.substring(start, end)
str.substring(start, end)
: start와 end의 index 사이 문자열 반환
let str = 'abcde';
str.substring(0,2); // 0~2 사이 index을 반환 => 'ab'
str.substring(0,5); // 0~5 사이 index을 반환 => 'abcde'
( + str.slice(start, end)와 비슷하다. )
str.toLowerCase()
: 문자열을 소문자로 변환
str.toUpperCase()
: 문자열을 대문자로 변환
let str = 'ABCDE';
str.toLowerCase(); // 'abcde'
str.toUpperCase(); // 'ABCDE'
concat()
: 문자열 연결 연산자 +
처럼 문자열을 이어붙일 수 있다.
slice()
: 문자열 일부를 자를 수 있다.
includes()
: 문자열 내에 특정 문자가 포함되어 있는지 확인
mutable
: 원본 변경 o , immutable
: 원본 변경 x
모든 string method는 immutable이다.
array method는 immutable, mutable의 여부를 잘 기억해야 한다.
Math.floor()
: 괄호 안의 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환( 괄호 안의 숫자를 내림하여 반환 )
console.log(Math.floor(5.95)); // 5
console.log(Math.floor(-5.05)); // -6
Math.min()
: 괄호 안의 숫자들 중 가장 작은 값을 반환
let x = 10, y = -20;
let z = Math.min(x, y);
console.log(z); // -20
Math.abs()
: 괄호 안 숫자의 절대값 반환
양수이거나 0이면 숫자 그대로 반환 / 음수라면 숫자의 절대값, 양수 반환
Math.ceil()
: 괄호 안의 숫자를 올림하여 반환
Math.round()
: 괄호 안의 숫자를 반올림하여 반환
Math.sqrt()
: 괄호 안의 숫자의 루트값을 반환
Math.pow()
: 괄호 안의 첫 번째 숫자를 밑, 두번째 숫자를 지수인 숫자를 반환 (거듭제곱)
: 이중 따옴표 나 작은 따옴표 대신 백틱 (` `) 사용
백틱 (` `) : ${}
를 사용해서 문자열과 변수를 같이 사용 (+ 연산자 대체 가능)
'현재 시각은 ' + hour + '시 ' + min + '분 ' + sec + '초 입니다.'
`현재 시각은 ${hour}시 ${min}분 ${sec}초 입니다.`;
// 위와 아래 같은 표현