JS 데이터(자료형, Date type)

원시형

  1. String
  2. Number
  3. Boolean
  4. null
  5. undefined
  6. Symbol
  7. BigInt

참조형

  1. 배열 Array
  2. 객체 Object
  3. 함수 Function

truthy & falsy

참: truthy
거짓: falsy

불린데이터 true, false 이랑은 다르다. 참, 거짓이라고 생각하면 된다.

truthy 는 사실 무한대에 가깝고 falsy 만 외우면 된다.

if (false)
if (null)
if (undefined)
if (0)
if (-0)
if (NaN)
if (0n)
if ('') // if (' ')는 공백문자가 있으니 문자라고 여겨져서 truthy

변수

변수는 데이터를 담아두는 그릇, 메모리라는 주소를 들고있음

var const let

  • 유효범위( scope)
  • 재할당
  • 중복 선언
  • 호이스팅
    • 호이스팅은 var 에서만 발생
    • 선언부가 유효범위 최상위로 끌어올려지는 현상
  • 전역(global) 선언시 전역 객체(’window’)의 속성으로 등록

const

-유효범위 : 블록 레벨

-재할당: X

-중복선언: X

-호이스팅: X

-전역등록: X

let

-유효범위 : 블록 레벨

-재할당: O

-중복선언: X

-호이스팅: X

-전역등록: X

var

-유효범위 : 함수 레벨

-재할당: O

-중복선언: O

-호이스팅: O

-전역등록: O


함수 기초

함수는 명령을 감싸는 역할. 감싼 명령을 여러 지점에서 쓰기 위해 ‘재사용' 용도로 사용. 그래서 이름이 필요함. 함수에는 입구로 데이터 받고, 출구로 반환 할 수 있음(retrun) 반환문 없는 함수는 기본 값을 반환한다.
new 키워드로 호출하는 생성자의 경우, 기본 반환 값은 함수의 this가 가리키는 값이다. 그 외의 모든 함수의 경우, 기본 반환 값은 undefined이다.

JavaScript에서 모든 함수는 Function 객체이다.

함수 선언(기명 함수)

  • abc라는 임의의 함수 이름 부여
  • 함수 선언: 호이스팅 O
    function abc() {}

함수 표현(익명 함수)

  • 익명함수는 무조건 함수 표현임.
  • 변수에 할당하여 사용 가능
  • 함수 표현: 호이스팅 X
    const abc = function () {}

매개변수

함수를 정의할 때 사용되는 변수를 의미

인수

함수가 호출될 때 매개변수에 실제로 담기는 값을 의미

function sum (a, b) { // a, b는 매개변수, 여기서 sum은 호출하기전에 함수라는 그냥 데이터다. 함수를 소괄호 열고닫아서 호출하기 전까지는 그냥 하나의 데이터다.(중요)
 console.log(a + b)
}
console.log(sum)

function callFn(callback) { 
	callback(2, 4)
}
callFn(sum) // 이 인수를 콜백에 매개변수로 줌 

// 콜백은 sum이라는 하나의 데이터이다. 그래서 2는 a에 들어가고 b에들어가서 콘솔창에는 6이 나온다.

예시

function sum(yejin, yang) {
	return yejin + yang //표현식
}
const res = sum(2, 4)
console.log(res)
  1. 두개의 매개변수(yejin + yang)를 더한 값을 함수가 호출된 밖으로 반환(return)한다.
  2. sum 이라는 함수를 호출(sum())했고, res라는 변수로 할당한다.
  3. res 변수를 호출하면 6이 나온다.

return 특징

함수에서 리턴이라는 키워드를 사용하지 않으면 undefiend가 튀어나온다.
함수에서 undefiend가반환되면 그 함수는 리턴 키워드로 어떤 특정데이터를 반환하고 있지 않구나 라고 생각하면 된다.

function sum() {
	return 456
	console.log(123)
}
console.log(sum())

함수 안에 리턴 키워드가 있으면 그 이하 명령은 실행하지않는다 그래서 콘솔에 456만 출력 된다.
즉 리턴 키워드를 사용하면 반환하고 바로 함수 종료!

기본값 지정

function sum(a = 1, b = 3) {
	return a + b
}

Sum이라는 함수를 만들었는데, 동료 개발자나 미래의 본인이나, 만들어놓고 사용법을 잊어버려서 의도치않는 값이 튀어나올 수 있음 그래서 사용할 수 있는것이 default value. 기본값이다.

b라는 매개변수에 기본값 지정하여 (아무 값도 들어오지 않아서 undefined 된다면) 숫자 3을 쓰겠다.

1이랑 3 기본값을 쓰더라도 정상적인 데이터가 인수가 들어온다면 1과 3은 사용되지 않는다.

profile
Frontend developer

0개의 댓글

Powered by GraphCDN, the GraphQL CDN