Code States
Front-end boost camp
Today
I
Learned
☔️ Gloomy Tuesday 비가 오는 대신 미세먼지 적은 화요일, 6일차 자바 스크립트 시작!
/*
주석처리 하기
*/
==> /*/* 중첩 */*/ 다음과 같이 중첩하여 사용하지는 않는다.
100; // 정수
-100; // 음수
100.123 // 실수
typeof 100; // 'number'
typeof -100; // 'number'
typeof 100.123; // 'number'
console.log(1 + 2); // 3
console.log(1 - 2); // -1
console.log(1 * 2); // 2
console.log(1 / 2); // 0.5
console.log(9 % 2); // 1 (9를 2로 나눈 나머지 구하기)
## 대표적인 메서드
Math.floor(): 괄호 안의 숫자를 내림하여 반환
Math.ceil(): 괄호 안의 숫자를 올림하여 반환
Math.round(): 괄호 안의 숫자를 반올림하여 반환
Math.abs(): 괄호 안의 숫자의 절대값을 반환
Math.sqrt(): 괄호 안의 숫자의 루트값을 반환
Math.pow() : 괄호 안의 첫 번째 숫자를 밑, 두 번째 숫자를 지수인 숫자를 반환
## 예시
Math.floor(100.621); // 100
Math.ceil(100.621); // 101
Math.round(100.621); // 101
Math.round(100.421); // 100
Math.abs(-100); // 100
Math.abs(100); // 100
Math.sqrt(4); // 2
Math.sqrt(2); // 1.4142135623730951
Math.pow(2, 5); // 32
"안녕하세요" + "!!"; // 안녕하세요!!
"감사합니다." + " " + "🙏" // 감사합니다. 🙏
1 + "1" // 11
console.log('欢迎你'.length); // 3
console.log('최초의 JavaScript는 Netscape의 Brendan Eich에 의해 만들었다.'.length); // 48
let str = 'tiffany';
console.log(str[0]); // 't'
console.log(str[4]); // 'a'
toLowerCase() : 문자열을 소문자로 변경합니다.
toUpperCase() : 문자열을 대문자로 변경합니다.
concat() : 문자열 연결 연산자 +처럼 문자열을 이어 붙일 수 있습니다.
slice() : 문자열의 일부를 자를 수 있습니다.
## 예시 :
'HELLO WORLD'.toLowerCase(); // 'hello world'
'hello world'.toUpperCase(); // 'HELLO WORLD'
'hello '.concat('world'); // 'hello world'
'hello world'.slice(0, 5); // 'hello'
## indexOf() : 문자열 내 특정 문자가 몇번째 위치하는지 확인
==> 찾는 문자가 2개일 경우, 가장 앞에 있는 문자의 인덱스 조회
==> 포함되어 있지 않으면 -1 반환
## 예시 :
'🍎🍓🍉🍇'.indexOf('🍎'); // 0
'🍎🍓🍉🍇'.indexOf('🖥'); // -1
'최초의 JavaScript는 Netscape의 Brendan Eich에 의해 만들었다.'.indexOf('Eich'); // 34
'최초의 JavaScript는 Netscape의 Brendan Eich에 의해 만들었다.'.indexOf('Dahl'); // -1
## includes() : 문자열 내에 특정 문자나 문자가 포함되어 있는지 확인
## 예시 :
'🍎🍓🍉🍇'.includes('🍎'); // true
'🍎🍓🍉🍇'.includes('🖥'); // false
'최초의 JavaScript는 Netscape의 Brendan Eich에 의해 만들었다.'.includes('Eich'); // true
'최초의 JavaScript는 Netscape의 Brendan Eich에 의해 만들었다.'.includes('Dahl'); // false
## 대표적인 falsy값
false
0
-0
0n
""
''
``
null
undefined
NaN
## 엄격한 동치연산자 : ===, !==
## 예시 :
121 === (100 + 21); // true
121 === "121"; // false
121 !== (100 + 21); // false
121 !== "121"; // true
## 느슨한 동치연산자 : 타입이 달라도 값이 같으면 true, 다르면 false
### ==, !=
### 현대 웹 개발에서 사용 권장하지 않음
### 다른 언어에서는 괜찮, 자바스크립트에서는 특이점 주의
## 예시 :
12 == '12' // true
## 대소 관계 비교 연산자 : 두 피연산자의 값을 비교, 수학에서의 부등호와 유사
## 예시 :
100 > 200; // false ("100은 200보다 크다."는 거짓)
200 > 100; // true ("200은 100보다 크다."는 참)
100 >= 100; // true ("100은 100보다 크거나 같다."는 참)
200 <= 100; // false ("200은 100보다 작거나 같다."는 거짓)
===========
'<=' 는 안됨!
## || : 논리합(OR)
- 두 값 중 하나만 true여도 true
- 두 값이 모두 false면 false로 판단
## && : 논리곱(AND)
- 두 값이 모두 true면 true
- 두 값 중 하나만 false여도 false
## 논리 부정 연산자(!)
- ! : 부정(NOT)
- 오른쪽 피연산자와의 반대의 사실을 반환
- falsy, truthy의 반대 값을 반환
let name;
name = 'kimcoding';
let name = 'kimcoding';
let string = '원주율';
let number = 3.141592;
let boolean = true;
let array = [1, 'two', false];
let object = {name: 'kimcoding', age: 25, course: 'SEB FE'};
let empty = null;
let notDefined = undefined;
let variable;
console.log(variable) // undefined
let name = 'kimcoding';
console.log(name) // 'kimcoding'
name = 'parkhacker';
console.log(name) // 'parkhacker'
const name = 'kimcoding';
console.log(name) // 'kimcoding'
name = 'parkhacker'; // Uncaught TypeError: Assignment to constant variable.
## 식별자는 특수문자를 제외한 문자, 숫자, 언더스코어(_), 달러 기호($) 포함 가능
let name, $head, _score // 사용 가능한 변수명
## 단, 식별자는 특수문자를 제외한 문자, 언더스코어, 달러 기호로 시작해야함, 숫자로 시작하는 것 불가
let 1st; // 사용할 수 없는 변수명
## 예약어는 식별자로 사용 불가 : 예약어란 프로그래밍 언어에서 사용되고 있거나 사용될 예정인 단어 (ex. let, const, true, false, typeof 등)
## 그 외, 변수명은 변수의 존재 목적을 이해할 수 있도록 의미를 명확히 표현
let x = 100;
let y = 5; // 변수의 존재 목적 이해 x
let name = 'tiffany ko'; // 변수의 존재 목적 이해 가능
// 🐪카멜 케이스(camelCase)
let firstName = 'coding';
let lastName = 'kim';
// 그밖에 네이밍 컨벤션
let first_name; // 🐍스네이크 케이스(snake_case) : 단어와 단어 사이에 언더스코어(_)를 사용
let FirstName; // 📐파스칼 케이스(PascalCase) : 단어의 시작을 대문자로 작성
let number = 10;
console.log(number + 2); // 12
console.log(number - 5); // 5
console.log(number * 3); // 30
console.log(number / 2); // 5
console.log(number % 3); // 1
console.log(number); // 10
let number = 10;
number = number + 2;
console.log(number); // 12
number = number * 3;
console.log(number); // 36
let course = 'SEB FE';
let cohort = 99;
let name = 'kimcoding';
console.log(`${course} ${cohort} ${name}`); // 'SEB FE 99 kimcoding'
## 사용하는 이유? 하단 예시를 보면, 공백 삽입을 위해 ' ' 를 사용하는 경우보다 가독성이 훨씬 우수하기 때문
let course = 'SEB FE';
let cohort = 99;
let name = 'kimcoding';
console.log(course + ' ' + cohort + ' ' + name); // 'SEB FE 99 kimcoding'
어렵다. 어려운데 아직 열받진 않는다. 오늘부터 프로그래머스 알고리즘을 왕초보 단계부터 하루에 한문제씩 풀 예정이다. 하루에 한문제면 한달이면 30문제 남은 5개월이면 150문제! 화이팅!
오늘 실시간 세션 수업까지 마치고 나면 전체적으로 오늘 배운 내용을 복습할 것이다.