문자에 .을 붙이면

해결됨
궁금이 프로필

따로 브라우저에 저장되있는 length같은 함수들(브라우저 개발자가 만든 여러 함수가 포함된 문자를 인식하는 객체)과

'안녕하세요'라는 '값'을 합치는건가요?

'안녕하세요'+문자객체 그렇게 이걸 객체로 만드는거고

문자 인식은 '  '로 할 것 같은데

와 이거를 음.. 아스키코드? 로..

아니 정말 궁금한게 이렇게 console.log처럼 개발자들이 만들어 놓은 함수는 도대체 어떻게 만드는 것인가요?

'  '를 어떻게 인식하게 할 지, 또 그 문자의 끝을 어떻게 인식하게 할 것인지 정말 상상이 안가요.

언어 개발자들은 어셈블리어 집합을 묶어서 기능과 함수들로 만들은거 같은데 혹시 간략하게나마라도 설명해주실 수 있나요?

그리고

var 문자객체 = {

repeat1: function repeat2(num){   }

}

이렇게 하면

문자객체.repeat1 이것은 repeat1을 불러와서 repeat1 속에 있는 repeat2 함수를 꺼내는건데

var 문자객체 = {

repeat1(num): function repeat2(num){   }

}

이런식으로 따로 인자자리를 마련해준것도 아닌데  문자객체.repeat1(num) 하면 어떻게 알아차리는지 궁금해요.

그리고 num같은 경우 뭐가와도 상관없다고 예전 강의 영상에서 들었던거 같은데, 이거를 var num이라고 이해해도 될까요? for문처럼 딱 쓰고 사라지는 변수 처럼요.

그리고 혹여나 제가 질문할 때 불편한 점이 있으신가요? 앞으로 더 많이 질문할텐데 불편하신 점이 있으시다면 그 점을 참고하고 싶어요.

인프라 분들께서 어떤 식으로 인센티브를 주시는지는 모르겠지만, 저에게 있어서 이거는 재능 기부기 때문에 불편하신 점을 참고하고 자주 질문하고 싶어요

조현영 프로필
조현영 2020.01.05

저도 내부가 어떻게 만들어졌는지는 모릅니다. 다만 C++ 언어로 되어있다는 것만 압니다. 사실 깊게 알 필요는 없습니다. 저도 모릅니다. 언어 만드는게 궁금하시면 컴파일러 공부해보시면 됩니다.

문자객체.repeat1은 그 값으로 대체해보시면 됩니다. 지금 문자객체.repeat1은 function repeat2(num) {}입니다. 문자객체.repeat1(num)하면 대체한 후에는 (function repeat2(num) {})(num)한 것과 마찬가지입니다.

a === b이기때문에

a() === b()입니다. (객체 메서드에서는 예외도 있을 수 있습니다)

num은 매개변수라서 num이든 n이든 number이든 상관없습니다.

질문 답변해서 저한테 오는 이익은 없지만 궁금하신 것 있으시면 시간날 때 답변드립니다.

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스