[JavaScript] 조건문, 문자열 #2

이진서·2022년 10월 24일

조건문이란?

(Conditional)
조건문은 어떠한 조건을 판별하는 기준을 만드는 것이다. 조건문에는 반드시 비교 연산자(comparison operator) 필요하다.

비교연산자
2 > 4 ; // false
8 < 10 ; // true
'hello' === 'world'; //false
비교의 결과는 늘 Boolean, 즉 true 혹은 false이다.

if ~ else if 조건문
if (조건1) {
// 조건1이 통과할 경우
} else if (조건2) {
// 조건 1이 통과하지 않고
// 조건 2가 통과할 경우
} else {
// 모든 조건이 통과하지 않는 경우 [조건에는 Boolean 으로 결과가 나오는 비교구문이 들어간다]
}

두가지 조건이 한번에 적용되는 경우?
논리연산자(Logical Operator)를 사용
논리1 && 논리2 ; (and)
논리1 || 논리2 ; (or)
!논리1; (NOT연산자)
논리연산자의 결과에 Boolean이 아닌 값이 들어갈 수 있다.

알아두면 좋을 점

OR연산자는 truthy한 값을 만나면, 그 값을 출력한다.
undefined || 10 // 10
5 || 10 // 5
5 || console.log('실행되지 않음') // 5
둘다 falsy할 경우, 뒤에 있는 값을 출력한다.
undefined || false // false

AND연산자는 falsy한 값을 만나면, 그 값을 출력한다.
undefined && 10 // undefined
5 && false // false
둘다 truthy할 경우, 뒤에 있는 값을 출력한다.
5 && 10 // 10

문자열이란?

(string)
일상생활에서 확인할 수 있는, 모든 글자의 나열을 문자열이라고 한다. 코드 자체도 결국 문자로 이루어져 있기 때문에 컴퓨터는 코드와 문자열을 구분하기 위해 작은따옴표(')나 큰따옴표(")를 사용하여 문자열을 구분한다.

str[index]
let str = 'Leejinseo';
console.log(str[0]); // 'L'
index로 접근은 가능하지만 값을 바꿀 수는 없다. 읽기만 가능

+연산자를 쓸 수 있음
string 타입과 다른 타입 사이에 + 연산자를 쓰면, string 형식으로 변환
-연산자는 안됨, 문자열과 숫자를 합치면 문자열 형태로 변환
let str1 = 'Lee';
let str2 = 'jinseo';
let str3 = '1';
console.log(str1 + str2) ; // 'Leejinseo'
console.log(str3 + 8); // '18'

length PROPERTY
문자열의 전체 길이를 반환한다.
let str = 'Leejinseo';
console.log(str.length) ; // 9

str.indexOf (searchValue)
arguments: 찾고자하는 문자열
return value: 처음으로 일치하는 index, 찾고자 하는 문자열 없으면 -1
lastrindexOf는 문자열 뒤에서 부터 찾음
'Leejinseo'.indexOf('Lee'); // 0
'Leejinseo'.indexOf('lee'); // -1 (소문자 구분함)
'canal'.lastrindexOf('a'); // 3 can a l (0부터 시작)
--------------------------------------012 3

str.split(seperator)
arguments: 분리기준이 되는 문자열
return value: 분리된 문자열이 포함된 배열
let str 'hello my name is jinseo';
console.log(str.split(' ')); // ['hello', 'my', 'name', 'is', 'jinseo']

str.substring(start, end)
arguments: 시작index, 끝index
return value: 시작과 끝 index사이의 문자열
[str.slice(start, end) substring과 비슷하지만 몇가지 차이가 있다.]
let str = 'abcdefghij';
console.log(str.substring(0, 3)); // 'abc' (0,1,2만 가져옴)
console.log(str.substring(3, 0)); // 'abc' (순서바뀌어도 상관없음)
console.log(str.substring(-1, 4)); // 'abcd' (음수는 0으로 취급)

toUpperCase()/toLowerCase()
arguments: 없음
return value: 대,소문자로 변환된 문자열
console.log('abcde'.toUpperCase()); // ABCDE
console.log('ABCDE'.toLowerCase()); // abcde

알아두면 좋을점

모든 string method는 immutable
즉, 원본이 변하지 않는다.
array method는 immutable 및 mutable여부를 잘 기억해야 한다.

오늘 하루 느낀점

느낀점
하루가 다르게 배울게 더 많아진다. 모르는 것이 너무 많다...ㅠㅠ 그래도 이렇게 정리하다보면 어느순간 아는게 더 많아질 거라고 확신한다.

용기는 항상 크게 울부짖는 것이 아니다. 용기는 하루의 마지막 "내일 다시 해보자" 라고 말하는 작은 목소리일 때도 있다. -메리 앤 라드마커
멘탈이 나가도 내일 다시 해보자! 수고했다 오늘도!

  1. 백틱이라고 탬플릿 문자열(template literal) 이란 ES6에서 새롭게 추가된 문자열 선언방식
    문장을 이어서 출력할 때, 백틱 과 ${변수이름} 를 사용한 경우
  2. split을 사용할때 줄바꿈을 하려면 ('\n')하면 된다.
  3. math는 수학을 전문적으로 다루는 함수의 객체이다. 이를 통해 오늘 abs,floor,max,min,pow등 다양하게 사용했다. 시간이 날때 공부해서 확실하게 이해해야겠다.
    4.parseInt 문자열을 숫자로 바꿔주는 함수이다.
    5.includes 메서드는 특정값이 있는경우 true를 반환 없으면 false를 반환해준다.

더 알아보기

PROPERTY 프로퍼티의 개념이 먼지 제대로 알아보기
Immutable과 Mutable의 차이 알아보기
slice와 substring의 차이점 알아보기

0개의 댓글