[2022.12.16/코드스테이츠 43기]
변수
<javascript>
템플릿 리터럴
백틱으로 문자열 타입 만들기
${}을 이용하여 변수삽입 가능
예제

<변수를 할당하고 함수를 선언하는법>

타입
Math 내장 객체
- Math.floor(): 내림하여 반환. floor=바닥 -> Math.floor(100.621)//100
- Math.ceil(): 올림하여 반환. ceil=천장 -> Math.ceil(100.621)//101
- Math.round():반올림하여 반환 -> Math.round(100.621)//101
- Math.abs():절대값 반환 ->Math.abs(100.621)//100
- Math.sqrt():루트값 반환->Math.sqrt(100)//10
- Math.pow():첫번째 숫자를 밑, 두번째 숫자를 지수로 하는 함수 반환->Math.pow(2,3)//8
인덱스(Index)
각 문자가 몇 번째에 위치하는지 인덱스(Index)로 확인할 수 있다. 이를 Zero-based numbering이라고 합니다.
1
2
3
let str = 'codestates';
console.log(str[0]); // 'c'
console.log(str[4]); // 's'
문자열 주요 메서드
- toLowerCase() : 문자열을 소문자로 변경
- toUpperCase() : 문자열을 대문자로 변경
- concat() : 문자열 연결 연산자 + 처럼 문자열을 이어붙일 수 있음.(배열을 이어붙일 수 있는 듯함)
- slice() : 문자열의 일부를 자를 수 있음
1
2
3
4
'HELLO WORLD'.toLowerCase(); // 'hello world'
'hello world'.toUpperCase(); // 'HELLO WORLD'
'hello '.concat('world'); // 'hello world'
'hello world'.slice(0, 5); // 'hello'
- indexOf() : 문자열 내에 특정 문자나 문자가 몇 번째 위치하는지 확인합니다.
- 만약 찾는 문자가 2개 이상일 경우, 가장 앞에 있는 문자의 인덱스를 조회합니다.
- 포함되어 있지 않으면 -1 을 반환합니다.
1
2
3
4
'🍎🍓🍉🍇'.indexOf('🍎'); // 0
'🍎🍓🍉🍇'.indexOf('🖥'); // -1
'최초의 JavaScript는 Netscape의 Brendan Eich에 의해 만들었다.'.indexOf('Eich'); // 34
'최초의 JavaScript는 Netscape의 Brendan Eich에 의해 만들었다.'.indexOf('Dahl'); // -1
- includes() : 문자열 내에 특정 문자나 문자가 포함되어 있는지 확인합니다.
1
2
3
4
'🍎🍓🍉🍇'.includes('🍎'); // true
'🍎🍓🍉🍇'.includes('🖥'); // false
'최초의 JavaScript는 Netscape의 Brendan Eich에 의해 만들었다.'.indexOf('Eich'); // true
'최초의 JavaScript는 Netscape의 Brendan Eich에 의해 만들었다.'.includes('Dahl'); // false
ㄴㅇㄹㄴㅇㄹㄴㅇㄹ
falsy
불리언 타입은 아니지만, 자바스크립트에서 false로 “여겨지는” 값을 falsy라고 함.
반대로 true로 “여겨지는” 값은 truthy 값이라고 함,
대표적인 falsy 값
false
0
-0
0n
""(비어있는 문자열?)
null
undefined
NaN
논리 부정 연산자(!)의 경우, 사실 관계를 반대로 표현합니다.(falsy 참조)
- ! : 부정(NOT)
- 오른쪽 피연산자와 반대의 사실을 반환합니다.
- !true // false
- !(100 > 200) // true
- falsy, truthy의 반대 값을 반환합니다.
- !0 // true
- !'' // true
- !1 // false

이녀석 틀렸다... 무조건 (>,<)가 먼저옴에 유의할것.

함수 선언문
function hello(){
console.log("hello")
}
함수 표현식
let hello = function(){
console.log("hello")}
매개변수와 전달인자
function hello (name){
console.log('hello'+name)
}
hello(corder)
여기서 name이 매개변수다. 함수를 정의할때 선언하고, 변수처럼 취급된다.
또한 저 밑에 corder라고 할당한 것을 전달인자라고 함.
매개변수는 함수내부에서 사용이 가능하고, 함수내부에서 선언한 변수는 함수밖에서 쓸 수 없음(!)
변수가 유효한 범위를 스코프라고 부름.

true or false(boolean)값을 반환하는 문제가 있었는데, 난 이걸 if문을 이용해서만 풀려고 했다.
예를들어 c===a+b일 경우 true, c!==a+b일경우 false를 반환해야 하는 함수의 경우에는
if(c===a+b) return true;
else return false;
이렇게 풀었다.
근데 그냥 return c===a+b 라고 작성하면
true/return 값이 나온다...(!)