문자열과 템플릿 리터럴
문자열에 변수를 추가할 수 있습니다.
그러나 문자열의 구조를 파악하기가 쉽지 않습니다.
const name = "I'm" + firstName + ', a' + (year - birthYear) + 'years old ' + job + '!';
이를 해결하기 위한 방법이 템플릿 리터럴입니다.
const name = `I'm ${firstName}, a ${year - birthYear} years old ${job}!`;
키보드의 1 옆에 있는 ` 배틱과 달러 표시를 사용하여 표현할 수 있습니다.
(파이썬의 f스트링 같은 역할입니다.)
템플릿 리터럴을 활용하면 다중라인 문자열을 사용할 수 있습니다.
즉, 여러 줄을 편리하게 입력할 수 있습니다.
조건문 If / Else
if ( 조건 ) {
~~~~;
} else {
~~~~~;
}
Ctrl 구조, 즉 if와 else 구조를 사용할 수 있습니다.
이 구조로 인해 실행할 코드와 실행하지 않을 코드를 구분할 수 있어 컨트롤을 할 수 있습니다.
타입 변환과 강압
타입 변환은 한 타입에서 다른 타입으로 바꾸는 것입니다.
const inputYear = '1991';
console.log(Number(inputYear)); // 1991
console.log(String(23)); // '23'
Number 함수와 String 함수를 이용하여 타입을 바꿀 수 있습니다.
타입 강압은(coersion) 연산자가 다른 타입의 두 값을 다룰 때 발생합니다.
자바스크립트는 그 값 중 하나를 다른 타입으로 강제로 바꾸어 연산자를 실행합니다.
예를 들어 문자열 사이에 숫자가 있을 때 자바스크립트는 그 숫자를 문자열처럼 바꾸어줍니다.
'-' 또는 '*' 등의 연산자를 사용하면 자바스크립트는 문자열을 숫자로 바꾸어줍니다.
boolean은 논리연산자를 사용하거나 if else 구조에서 강압이 적용됩니다.
if문 뒤에 조건 부분을 boolean으로 변환시키려고 하기 때문에 boolean이 아닌 값의 타입을 바꿉니다.
동등 연산자에는 '==', '===' 이 있습니다.
'=='는 강압 연산자라 타입을 강제로 바꿉니다.
'18'과 18을 ===로 연결하면 False이지만 ==으로 연결하면 True입니다.
따라서 == 보다는 ===을 사용하는 것이 더 좋습니다.
Boolean Logic
1. A and B : and 연산자는 모든 것이 true일 때 true입니다.
2. A or B : or은 하나라도 true이면 true입니다.
논리연산자
1. && : A and B
2. || : A or B
3. ! : not
Switch문
if-else 문과 기능은 같지만 더 가독성이 좋습니다.
switch (변수) {
case 값:
~~~~;
break;
case 값: // 두 값 모두 적용됨
case 값:
~~~~~~;
break;
default:
~~~~~;
break;
}
Statements and Expression
값을 생성하는 것은 expression이라고 하고 값을 생성하지 않는 완전한 문장을 statement라고 합니다.
자바스크립트에서는 두 개가 사용될 수 있는 공간이 다른데,
예를 들어 템플릿 리터럴에 expression은 가능하지만 statement는 삽입할 수 없습니다.
조건 연산자
어떤 조건에 해당할 때 ? 다음에 있는 것을 실행하고
else 대신에 : 를 사용하여 표현합니다.
조건 ? ~~~~~ :
~~~~~
조건 연산자는 변수의 값을 정의할 때도, 템플릿 리터럴에서도 사용할 수 있습니다.
const 변수 = 조건 ? 값1 : 값2
Udemy The Complete JavaScript Course 2024 강의를 듣고 정리한 내용입니다.
'Programming > JavaScript' 카테고리의 다른 글
[JavaScript]자바스크립트의 동작 원리 (0) | 2023.11.22 |
---|---|
[JavaScript] 자바스크립트의 DOM (1) | 2023.11.21 |
[JavaScript] 자바스크립트의 기초-4 (1) | 2023.11.20 |
[JavaScript] 자바스크립트의 기초-3 (0) | 2023.11.20 |
[JavaScript] 자바스크립트의 기초-1 (2) | 2023.11.20 |