inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바스크립트 비기너: 튼튼한 기본 만들기

강의자입니다. 좋은 질문인데 답변을 작성하는 동안에 질문이 삭제되어 질문과 함께 작성합니다.

281

김영보

작성한 질문수 2

1

안녕하세요. 질문이 있어 글을 남깁니다.

Number()라는 함수가 Number라는 오브젝트에 있다고 이해 했는데요. 오브젝트 내부에 있는 함수를 호출하려면 Number.Number( ) 처럼 해야 하는 거 아닌가요? ㅜㅜ 
밑에 있는 예로 들면 func()만 입력하면 안 되고 obj.func()로 입력해야 하는 것처럼요.
ex)
==
var obj = {func : function( ) {console.log('hi')};
obj.func();//hi 
===
Number.를 붙이지 않고 바로 Number('123') 이런식으로 함수를 호출할 수 있는 이유가 궁금합니다. 

------------  답글 ------------

좋은 질문입니다.

parseInt() 형태로 작성하는 것이 문법이듯이 Number("123") 형태도 문법입니다.

Number.number("123")처럼 정형적인 형태로 처음부터 설계했어야 한다고 생각합니다. 설계 실수라고 할 수는 없지만, 실수에 가까우며 (오브젝트.함수, 인스턴스.메소드) 형태로 호출하는 관점에서 보면 일관성이 떨어집니다.
Number.parseInt(), Number.isNaN() 등을 새로 만든 것은 이런 것을 염두에 둔 것으로 생각합니다.

이런 것을 추가하듯이 새로운 ECMAScript 에디션에 Number.number(), String.string() 형태가 추가되었으면 좋겠다는 생각이 듭니다.
이제와서 바꿀 수 없으므로 문법이라고 생각하는 것이 나을 것 같습니다.

javascript oop

답변 1

0

김영보

.

프론트엔드 부트캠프 가기 전, 짧은 감사 인사드립니다!

2

123

2

섹션10 3. Object 프리미티브 값 구하기에서 질문있습니다.

1

172

2

섹션3의 1강 연산자, 표현식 강의에서 표현식 질문이 있습니다.

0

160

2

섹션 1. 6번째 강의 질문입니다.

1

265

1

선생님 Objcet 질문 있습니다.

0

308

2

forEach문을 활용한 코딩시간 풀이

0

625

1

sort 코딩 시간 풀이

0

301

1

코딩 시간 풀이 올려봅니다.

0

235

1

인덱스 코딩시간 문제풀이

0

389

1

for문 코딩 시간 답제출

0

315

1

3:39 sort에 들어가서 one,two 파라미터질문입니다.

0

199

0

퀴즈 질문 및 정답

0

365

1

오브젝트

0

293

1

인스턴스 목적

1

249

1

[코딩시간 01] 3항 연산자로 작성했을 때, 각 값..?

0

277

1

Undefined === Null; // true???

0

200

1

indexOf의 파라미터에 음수를 작성 했을때에 대한 질문입니다.

0

1041

5

length 값 변환 논리에 대한 질문입니다.

0

220

1

상수 변수 선언에 대해

0

242

1

코딩 시간 (for문) 풀이

0

261

1

Object vs object

1

509

1

코딩 시간 풀이입니다.

0

204

1

log(add(1, 2, 3, 4));

0

186

1

코딩시간 답 제출

0

202

1