코드스테이츠 43기

[2022.12.16/코드스테이츠 43기]

_서리__ 2022. 12. 16. 10:50

변수

<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
    • !(100200) // 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 값이 나온다...(!)