<aside> 💡 **주의할 내용들 변수

  1. let 변수="값", 변수="값"
  2. let 변수 = "값"; let 변수 = "값" cf. let thing="두루마리 휴지", let num="3" (X) : , 사용 시 let을 중복하면 안된다

하지만 여러 방법을 혼용해서는 안된다!

함수 - 호출 후에는 반드시 리턴 값을 가진다

문자열

배열

parseFloat()와 Number()의 차이 parseFloat() 기호, 숫자, 소수점 또는 지수 이외의 문자를 발견하면 그 전까지의 결과만 반환하고 문제의 문자와 그 이후는 모두 무시한다

Number()
위치에 상관 없이 문자를 발견 시 NaN 반환하는 더 엄격한 방법
ex. parseFloat('1234string') // 1234
ex. Number('1234string') // NaN

ex. Number(" ")// falsy한 값이므로 0으로 나온다 

ex. Number(null)// 0

</aside>

<aside> 💡 찾아볼 내용

var a = ['바람', '비', '불'];
var myVar1 = a.join();      // myVar1에 '바람,비,불'을 대입 : 디폴트 - , 
var myVar2 = a.join(', ');  // myVar2에 '바람, 비, 불'을 대입 
var myVar3 = a.join(' + '); // myVar3에 '바람 + 비 + 불'을 대입
var myVar4 = a.join('');    // myVar4에 '바람비불'을 대입

코플릿

반복문
for in : 문자열의 요소로 반복문, 객체의 요소로 반복문, 배열의 인덱스로 반복문 
=> 배열도 객체로 인식하기 때문에 (키(index) : 값(element))
for of : 배열의 요소로 반복문

포함
in 연산자 : 객체에 속성(키)가 있는지 확인 - 불린 반환 
	주의 : 값은 확인 X, String()객체만 가능(리터럴은 불가능), 배열의 인덱스만 가능(배열을 객체로 인식)
문자열, 배열 - arr.includes(el)
-문자열 slice 찾아보기
    - **`slice()`**
			 메소드는 문자열의 일부를 추출하면서 새로운 문자열을 반환합니다.
        - beginIndex
            - 만약 음수라면, beginIndex는  `strLength(문자열 길이) + beginIndex`로 취급됩니다. 뒤에서 1부터 센다
            - 만약 `beginIndex`가 `strLength` 보다 크거나 같은 경우, `slice()`는 빈 문자열을 반환합니다.
        - endIndex : Optional
            - 0부터 시작하는 추출 종료점 인덱스로 그 직전까지 추출됩니다.
                - 인덱스 위치의 문자는 추출에 포함되지 않습니다.
            - 만약 `endIndex`가 생략된다면, `silce()`는 문자열 마지막까지 추출합니다.
    - substring과 같다
        - (앞, 뒤) : 앞- (뒤-1)까지
        - 순서가 반대여도 가능
        - 하나만 쓰면 앞 값으로 들어간다
        - 뒤가 더 크면 끝까지 다 표현
    - cf. 배열의 splice, splice도 있다
- split
    - `str.split([separator[, limit]])`
        - separator 
        : 원본 문자열을 끊어야 할 부분을 나타내는 문자열을 나타냅니다. 
        실제 문자열이나 [정규표현식](<https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/RegExp>)을 받을 수 있습니다.
            - 문자열 유형의 `separator`가 두 글자 이상일 경우 그 부분 문자열 전체가 일치해야 끊어집니다.
            - `separator`가 생략되거나 `str`에 등장하지 않을 경우, **반환되는 배열은 원본 문자열을 유일한 원소로** 가집니다.
            - `separator`가 **빈 문자열**일 경우 `str`의 각각의 문자가 **배열의 원소 하나씩으로 변환**됩니다
- replace 
const p = 'The quick brown fox jumps over the lazy dog. If the dog reacted, was it really lazy?';
p.replace('dog', 'monkey')

변수와 자료형

문제
문자열을 인자로 받아서 느낌표를 붙여서 리턴해주는 함수 returnWordWithJoy가 있습니다. 
함수 returnWordWithJoy의 첫 번째 인자로 문자열 "I love coding"을 넣어서 호출하고, 
그 결과값을 변수 word에 할당하세요.

// 문자열을 인자로 받아서 느낌표를 붙여서 리턴 해주는 함수 returnWordWithJoy가 있습니다.
// 함수 returnWordWithJoy의 첫 번째 인자로 문자열 "I love coding"을 넣어서 호출하고, 그 결과값을 변수 word에 할당하세요.
let word; // TODO

// 아래 코드는 변경하지 마세요
function returnWordWithJoy(word) {
  if (typeof word !== 'string') {
    return 'wrong type';
  } else {
    return word + '!';
  }
}

word = returnWordWithJoy('I love coding');

변수

Achievement Goals

변수 Intro