Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 세마포어란?
- 세마포어
- 싸피 면접 후기
- 싸피
- 뮤텍스란?
- 프록시서버
- Proxy Server
- 최단 경로
- 프록시
- Proxy
- 동기화
- 싸피 합격
- 다익스트라 알고리즘
- 호스팅
- 다익스트라
- 삼성 청년 SW 아카데미
- 세마포어와 뮤텍스의 차이
- SSAFY
- 플로이드 워셜
- 호스팅이란?
- 세마포어와 뮤텍스
- floyd-warshall
- 웹 호스팅
- 클라우드 서버
- 서버 호스팅
- 플로이드 와샬
- Synchronization
- 뮤텍스
- Dijkstra Algorithm
Archives
- Today
- Total
어제의 나보다 성장한 오늘의 나
[자바스크립트] function name property 본문
함수를 생성했을 때 name이 자동적으로 생성된다. 그렇다면? 다양한 함수 선언식, 표현식에서는 어떻게 나타날까?'
function a () { }
console.log(a.name) // 결과 a
const b = function () { }
console.log(b.name) // 결과 b
const c = function cc () { }
console.log(c.name) // 결과 cc
const d = () => {}
console.log(d.name) // 결과 d
const e = {
om1: function () {},
om2 () {},
om3: () => {}
}
console.log(e.om1.name, e.om2.name, e.om3.name) // 결과 om1, om2, om3
class F {
static method1 () {}
method2 () {}
}
const f = new F()
console.log(F.method1.name, f.method2.name) // 결과 method1, method2
ES6에 넘어와서 class가 생겼다. 그래서 위와 같이 class를 생성했을 때 자동으로 name이 할당된다. 이전에 있던 방식을 해서 한 번 해보겠다.
fucntion G () {}
G.method1 = function() {}
G.prototype.method = function () {}
const g = new G()
console.log(G.method1.name, g.method2.name)
// Cannot read property 'name' of undefined
다음과 같이 직접적으로 넣어봤다 결괏값이 어떻게 나올까? name이 없다고 나온다. 정확히 정의를 할 수 없어서 그렇다.
또 다른 방법
function a () { }
const b = function () { }
const h = a.bind(b)
console.log(a.name)
console.log(b.name)
console.log(h.name)
위에서 봤듯이 function에 이름이 있어서 a가 나오고, 익명 함수일 경우 변수명으로 간다. 그렇다면 bind는? bound a로 나온다.
getter와 setter로 제대로 나오는걸 확인이 가능하다.
const person = {
_name: '재남',
get name () {
return this._name
},
set name (v) {
this._name = v
}
}
const descriptor = Object.getOwnPropertyDescriptor(person, 'name')
console.log(descriptor.get.name) // "get name"
console.log(descriptor.set.name) // "set name"
그럼 왜 name을 알아야 할까? 디버깅할 때 사용한다.
'공부 > JavaScript && jquery' 카테고리의 다른 글
[자바스크립트] 비동기 처리와 콜백 함수 (0) | 2021.04.29 |
---|---|
[자바스크립트] Destructuring assignment ( 해체할당 ) (0) | 2021.04.27 |
[자바스크립트] concised method 간결한 메서드 (0) | 2021.04.27 |
[자바스크립트] shorthand property, 프로퍼티의 key와 value에 할당할 변수명이 동일한 경우 (0) | 2021.04.27 |
[자바스크립트] spread operator (0) | 2021.04.27 |
Comments