inflearn logo
강의

講義

知識共有

Javascript ES6+を正しく学ぶ - 初心者

名前プロパティ

함수표현식질문

224

enere61636

投稿した質問数 40

0

function G () {}

G.method1 = function () {}

G.prototype.method2 = function () {}

const g = new G()

이거하고

const b = function() {}

console.log(b.name)

차이점이

아래는 변수명이 b 하나니까 프로퍼티 name 읽어서 부르는데 위는 G.method1로 읽을지 method1로 읽을지 정의가 애매하다고 하셧는데 G.method1 = function(){}하면

function G() { 

    method1 (){}

}

이게 이렇게 되고 여기서 const g= new G()에서 생성자함수로서 객체 리턴해서 const g = {method1(){}}되는거 아닌가여?? 제가 이해가 안되서 조금만 더 설명해주시면 감사하겠습니다 TT

javascript es6

回答 1

1

jaenam

g 객체는 다음과 같이 생겼습니다.

{
  __proto__: {
    method1: function() {}
  }
}

'읽을지 애매하다'라는건 우리 입장에서 애매하다는게 아니라,
자바스크립트의 명세를 정의하는 기관인 TC39에서 생각할 때
name 프로퍼티에 어떤 값을 넣기로 정의할 지가 애매하다는 뜻이었습니다.

name: "method1" 로 할 지,
name: "g.method1" 로 할 지,
name: "g.__proto__.method1"로 할 지...

프로토타입 체이닝에 대해서

0

377

1

react 사용할 때 destructuring assignment라고 하는거 진짜 많이 사용 했는데 신기합니다.

0

521

1

2023-10-30일 기준 Object Rest/Spread Properties 적용 됬나봐요. 짱신기

0

337

1

제가 이해한 부분이 혹시 맞는지 알 수 있을까요?

0

311

2

블록스코프 내에서 펑션을 선언해서 사용하는경우가 있나요?(실무)

0

347

1

클래스에서 화살표함수?

0

1221

2

default parameter TDZ

0

279

1

강의 자료

1

305

2

전개 연산자 얕은 복사 질문

0

277

1

궁금한게 있는데요 ..

0

307

2

궁금한게 잇는데요 여기서 this는 array값을 출력해주나요?

0

359

1

template literal 강의에서의 reduce 메소드

0

312

2

다운로드 받은파일

0

286

1

const 이럴때도 사용하나요?

0

386

1

순서정렬

0

235

1

함수선언문 말고 arrow function

0

261

1

this바인딩 질문

1

266

1

에로우함수 new.target

0

208

2

rest parameter장점

0

312

1

if(exps[i])

0

192

1

좋은강의 감사합니다 이거는 호이스팅이 실행안되는거 같은데

0

305

3

해체하여 적용하려는 대상은 해체하는 대상의 타입에 매칭해야하나요?

0

173

1

강의노트 없습니다.

0

232

1

강의노트를 열면 텍스트가 다 깨집니다.

0

160

2