[TIL #14] JS 1일차

Yejin Yang·2022년 4월 26일
0

[TIL]

목록 보기
14/67
post-thumbnail

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개의 댓글