어제에 이어서 typescritp 강의를 보고 있다. 영상은 짧은데 내용이나 툭 튀어나오는 개념에 대해 정리하려고 한다.
강의에서 this
에대해 살짝 언급하였다. 해당 내용에 대해서 복습하면서 velog도 수정을 하였다.
this와 바인딩?
named parameter를 알기전에 default paramter를 알고 가는것이 더 편하다고 생각했다. named parameter, default parameter 모두 ES6부터 지원하고 있다.(엄밀하게는 default parameter가 ES6에 지원 되었다고 하는데 사용방법 중 named parameter가 포함되어 있다.)
말 그대로 "기본값"을 갖는 매개변수이다. 예시를 보자.
function abplus(a, b = 5){
return a + b
}
abplus(1, 2) // 3
abplus(1) // 6
abplus(1, undefined) // 6
abplus(1, null) // 1
parameter "b"에 대해서 "5"라는 기본값을 주었다. 입력했을 경우 입력된 인자를 따랐지만, undefined나 입력을 하지 않을 경우 "기본값" 5를 따랐다. null 인경우에는 0을 전달하였다.
구글링을 해보면 named prameter라고 몇몇 소개는 되어있으나, default paramter와 차이점이 느껴지진 않았다. 찾아보니 US MDN에서는 default paramter 중 "destructured parameter with default value assignment"에서 array와 objects에 대해서 소개하고 있다.
//
function info_puppy({name = "ddoddo", age = 2, kind= "shihthu"}={}){
return console.log(name, age, kind)
}
info_puppy() // 'ddoddo' 2 'shihthu'
info_puppy({}) // 'ddoddo' 2 'shihthu'
info_puppy({name:"chacha", age:1, kind: "maltese" }) // 'chacha' 1 'maltese'
결론적으로는 default parameter를 사용하는 방법중 하나가 named parameter라고 이해한다. 위 예시에서는 object이지만 array이도 똑같이 사용 가능한다.(e.g. [x=1, y=2] = [].) 변수명 적어주기 때문에 named parameter라고 얘기하는 것인지 좀더 알아봐야 하겠지만, 사용 방법에 대해서는 무리가 없기에 우선 지나간다.
새롭게 배우는 것도 좋지만, 복습해서 더욱 확실히 아는것도 좋았다.
[default parameter, named parameter, tistory, 2022년07월25일 접속]
https://taiyoru.tistory.com/entry/default-parameter-named-parameter
[Default parameters, mdn, 2022년07월25일 접속]
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters