[2주차] JavaScript

신윤지·2022년 5월 7일
0
post-thumbnail

🚀 What You Will Learn


  1. 변수를 선언하는 방법과 차이점에 대해 설명할 수 있다.

    🖥️ 선언과 초기화로 이루어져 있다.

    • var - 재선언, 재할당 가능. 블록스코프 내에서 선언해도 전역변수가 된다. 일시적 사각지대(TDZ)가 없어 호이스팅되어 사용되는 것을 막지 못한다.
    • let - 재선언 불가, 재할당 가능
    • const - 재선언, 재할당 불가. 선언과 동시에 초기화해야한다.
  2. 다양한 자바스크립트 데이터 타입의 종류와 활용법에 대해 익힌다.

    🖥️ 데이터 타입은 크게 원시 타입과 객체 타입으로 나눌 수 있다. 원시타입은 다른 변수로 복사하면 선언할 당시의 값으로 고정되고, 객체타입은 복사할 시 주소를 참조하므로 원래 변수의 값이 변하면 복사한 값도 계속 변한다.

  3. 함수를 정의할 수 있고 정의와 호출의 차이점을 이해할 수 있다.

    🖥️ 정의 - 함수를 생성

    • 함수 선언문
      function 함수이름(매개변수, ...) {내용(문) {기본적으로 return undefined로 끝남};}
    • 함수 표현식
      변수키워드 식별자 = function 함수이름(매개변수, ...) {내용(문) {기본적으로 return undefined로 끝남};}
    • 화살표 함수
      (매개변수, ...) ⇒ {내용(문) {기본적으로 return undefined로 끝남};}
    • 함수 생성자
      function 함수이름<반드시 첫글자가 대문자>(매개변수, ...) {내용(문) {기본적으로 return undefined로 끝남};}
      변수명1 = new 함수이름();
      변수명2 = new 함수이름();
      ...

    호출 - 정의한 함수를 불러옴

    • 함수이름(인수, ...);
  4. boolean 타입과 함께 조건문을 사용할 수 있다.

    🖥️ 관습적으로 변수이름을 지정할 때 명사로 시작하지 않고 is^ 형태로 짓는다. 식별자만 보고도 값이 불리언이라는 것을 알 수 있다.

    • true - truthy - 켜져있음(1)
      • falsy 값을 제외한 모든 값
    • false - falsy - 꺼져있음(0)
      • false, NaN, null, undefined, 0, “”(empty string)
    • if -
      if(condition) {
      statement1}
      [else if(condition) {
      statement2}
      ...
      else {
      statementN]}
      조건(condition)이 참일 경우 명령문을 실행(statement)한다. 중첩이 가능하다.
    • switch -
      switch(expression) {
      case value1:
      statement1
      [break];
      case value2:
      statement2
      [break];
      ...
      case valueN:
      statementN
      [break];
      [default
      break;]
      }
      expression이 case절의 특정 value와 일치한다면 해당 statement 문부터 끝까지 실행되거나 break가 위치한 곳까지 case절 내부가 실행된다. 어떤 값도 일치하지 않으면 default절이 실행된다.

☑️ Study Keyword


  • 변수가 필요한 이유와 선언하는 방법
    • 재사용이나 수정을 위해 식별할 수 있는 이름을 부여하여, 휘발성 자료가 되지 않도록 값을 저장하는 메모리 공간을 확보하여 주소를 가리킨다.
    • 변수키워드 식별자 = 값;
      식별자(Identifier)의 첫글자는 문자, 밑줄(_), 달러 기호($)로만 시작한다.
  • 자바스크립트 데이터 타입의 종류
    원시 타입 (Primitive values)객체 타입 (Objects)
    numberarray
    stringfunction
    booleanregular expression
    null
    undefined
  • numberstring의 메서드 각각 3개와 사용 방법
    • number
      • number.parseInt(string[, radix]) - 문자열을 특정 진수의 정수로 반환한다. string이 문자열이 아닐 경우 ToString 추상연상을 사용해 문자열로 반환한다. 시작이 숫자가 아니면 NaN을 반환한다. 선행 공백은 무시한다. radix의 범위는 2~36까지의 정수다.
      • number.isNaN(value) - value가 NaN인지 판별하여 true를 반환한다. 기존부터 존재한 isNaN() 함수의 엄격한 버전으로, 강제로 매개변수를 숫자로 변환하지 않는다.
      • numObj.toFixed([digits]) - digits 만큼의 소수점 이하 자리수를 갖는 문자열을 반환한다. 주어진 값보다 숫자가 길면 반올림하고 짧으면 0으로 채운다. digits는 0이상 20이하의 값을 사용가능하며 지정하지 않으면 0이 기본값이다.
    • string
      • string.concat(string2[, string3[, ..., stringN]]) - 매개변수로 전달된 모든 문자열을 호출 문자열에 붙인 새로운 문자열을 반환한다.
      • string.slice([begin[, end]]) - 배열의 begin 인덱스 요소부터 end - 1 인덱스 요소까지 새로운 배열로 만든다. 원본 배열은 바뀌지 않는다. begin의 기본값은 0이고, 음수를 입력할 경우 끝에서부터의 길이를 나타낸다. end를 생략할 경우 배열의 전체를 추출한다.
      • string.indexOf(searchValue[, fromIndex]) - searchValue와 일치하는 첫번째 인덱스를 반환한다. 아무값도 넣지 않으면 “undefined”를 찾으려는 문자열로 사용한다. 일치하는 값을 찾을 수 없으면 -1을 반환한다. fromIndex는 찾기 시작하는 위치를 나타내는 인덱스다.
  • 함수가 필요한 이유
    • 코드의 중복을 최소한으로 줄이고 가독성도 좋아진다.
    • 코드를 캡슐화해서 나중에 원하는 만큼 실행할 수 있다.
    • 데이터를 받아와 사용할 수 있다. 유지보수 측면에서도 유리
  • 함수의 정의와 호출의 차이점
    • 정의 - 함수의 이름을 짓고 무엇을 할지 지정해주는 것. 코드는 바로 실행되지 않는다.
    • 호출 - 함수를 불러 매개변수를 가지고 실행시키는 것.
  • 조건문이 필요한 이유
    • true인지 false인지 따라 각각의 동작을 해야할 때 분기점으로 사용한다.

0개의 댓글