JavaScript + TIL

Dev_Sumni·2022년 5월 21일
post-thumbnail

== 값이 같다
=== 같은 타입이다

ex)
console.log(0 == false); 0(empty string)은 false값이므로 true
console.log(0 === false); 0은 number type, false는 boolen type이므로 false

empty string: 0, null, undefined, NaN, ' '


function

  • function name(param1, param2) {body... return;}
    → function의 이름을 기재하고 body안에 내용 기재 후 return하는 방식
  • one function === one thing
    → 하나의 function에는 하나의 행동만
  • naming: doSomething, command, verb
    → 함수는 무언가를 동작시키는 것이기 때문에 위와 같은 형태 ,동사 형태로 지정하기
  • function is object in JS
    → function은 object의 일종이다.

parameters 매개변수

premitive parameters: passed by value 메모리에 벨류가 그대로 저장되어 전달이 되고
object parameters: passed by reference 메모리에 레퍼런스가 저장이되어 전달됨

  • Default parameters
    function showMessage(message, from = 'unknown') { 파라미터 옆에 원하는 default값을 지정해 놓고 사용자가 파라미터값을 전달하지 않을때 'unknown' 값이 대체되어 사용 됨
    console. log(${message} by ${from});
    }
    showMessage('Hi!'); 두 가지의 파라미터를 받아야하는데 한가지의 값만 있음

Rest parameters

function printAll(...args) 배열형태로 전달되게 됨
(for _of, forEach를 사용하여 배열을 나타낼 수 있음)

Local scope

밖에서는 안이 안보이고 안에서만 밖이 보인다.
{ } 블록 scope = 지역 변수
그 밖 = 글로벌 scope
클로저: 중첩된 함수에서 자식 함수가 부모의 함수에 정의된 변수들에 접근이 가능한것

Return

함수에서는 파라미터의 값을 전달 받아서 계산된 값을 리턴받을 수 있음
Early Return: 조건이 맞지 않는 경우, 값이 undefined인 경우, 값이 -1인 경우 빨리 리턴하고 필요한 로직들은 그 뒤에 작성

기명함수, 익명함수

callback 함수

Arrow 함수

→ 한 줄 사용이 가능하지만, 블록 scope 사용해야 할 경우엔 return 넣어주기

IIFE

→ (function ~ {})(); JS에서 함수를 바로 실행하고 싶을때 사용


Class

class: template
object: instance of a class

getter & setter

get을 이용하여 값을 리턴, set을 이용하여 값을 설정(value을 받아와야함)
getter와 setter에서 쓰이는 이름은 다르게 만들어주기

public & private

publicField
privateFiele :#

static

class자체에 붙어있음
object에 상관없이 공통적으로 class에서 사용할 수 있는것이라면 사용

상속 & 다양성

공통적으로 쓰이는 속성 값을 재사용
유지보수가 쉽고 에러가 났을때 고치기 쉬움
extends
ex)
class Shape
class Rectangle extends Shape

instanceof

ex)
console.log(rectangle instanceof Rectangle);
왼쪽에 있는 object가 오른쪽에 있는 class의 instance인지 아닌지
즉, object가 class를 이용해서 만들어진 것인지 아닌지 확인하는것

profile
개발 일지 끄적 끄적,,

0개의 댓글