변수, 타입, 함수

Yein Moon·2021년 6월 15일
0

개발일지

목록 보기
2/21
post-thumbnail

1.변수(Variable)

: 어떠한 값을 저장할 수 있는 공간

데이터를 원하는 대로 처리(programming)하기 위해, 변수를 선언(declaration)하고 어떠한 값을 할당(assignment)한다.

  • declaration과 assignment는 동시에 할 수 있다.
  • variable에는 공백을 쓸 수 없다.
    * Camel Case: 공백이 들어갈 곳은 대문자로 표기한다. ex)isAdult
  • 한 variable에 대한 선언은 한번만!

❗️var / let / const 에 대하여

varletconst
선언 전 변수 사용OXX
중복 선언OXX
선언 시 초기값 생략OOX
할당값 변경OOX

var은 버그 발생이 잦고 메모리 누수(?)의 가능성이 높아 최대한 사용을 지양함
할당값 변경이 필요한 경우 let을 사용, 고정 값은 const를 사용해 선언
👉🏾 참고했던 출처

c.f. 개발자 도구 콘솔 값 보기

아직 에디터를 사용하지 않아 간단한 코드 확인으로 chrome 개발자도구 콘솔창을 이용해 테스트하는 법을 공부했다.

  • 콘솔값 보기: console.log()
  • 전체 코드 삭제: clear()
  • 캐시 비우기: command+r (refresh)



2. 타입(type)

1. 원시 자료형(Primitive)

: string, number, boolean, undefined, symbol, null

❗️undefined와 null에 대하여

  • undefined : 할당되지 않음, 값 없음
  • null : '아무것도 없음'을 할당, 값 있음
undefined == null; // true
undefined === null; // false

여기서! equailty와 identify의 차이

  • equailty: == / != 타입 무관하게 같다고 본다. 확실하지 않으므로 쓰지 말기!
  • identify: === / !== 타입 포함하여 완전히 같아야한다.

typeof(null)은 object?!
일종의 버그이다.. null을 확인하는 단계가 없어서😂 👉🏾 typeof 연산자 버그

2. 참조자료형 (Reference)

: array, object, function

c.f. .legnth : string의 길이



3. 함수(function)

  • 선언
    keyword name(parameter){ body }
  • 호출 (call, invocation)
    : 전달인자를 통해 선언된 함수가 계산되고 return값이 호출된다. return값이 없이 선언된 함수라면 undefined!
    name(argument)

1. 함수 선언식

function name(parameter){}

2. 함수 표현식

const name = finction(parameter){}

3. 화살표 함수

const name = (parameter) => {};
❗️화살표 함수에서, return문만 있는 간단한(한줄 이하) 경우, return & {} 함께 생략이 가능하다.



4. 조건문

  • if문
  • 논리 연산자 && , ||, ! 등

❗️자명하지 않은 참거짓, truthy & falsy
참으로 취급되는 값 truthy, 거짓으로 취급되는 값 falsy.
이 중 6가지 falsy값을 기억하고 이외 대부분은 truthy하다고 생각하자.
: false, null, undefined, 0, NaN(Not a Number), ''(empty string)

c.f. error message

  • expect [A] to.be.[B]; : A의 return값이 B가 되기를 바란다.
  • expected [A] to be [B] : B를 기대했지만 A값이 return 되었다.

→ debug🐞 : 이러한 error msg를 보고 문제가 되는 부분을 추적하는 과정, 이를 행하는 것이 debugging!

profile
마스크 벗을 때쯤엔 주니어개발자 될끄니까

0개의 댓글