• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

강의내용 질문

20.09.26 22:08 작성 조회수 114

0

안녕하세요, 강의를 듣던 중 몇가지 궁금한 것들이 있어서요!

1) var value = "ABC"

이 코드로 생성된 프로퍼티 value :  "ABC" 이것은 프리미티브 값인가요?

강의에서는 자바스크립트엔진으로 new String("ABC")를 생성한다고 말씀하셨는데 그럼 저 상태는 어떤 형태라고 볼수 있나요?

2) console.log(String.fromCharCode(49,65,97,44032))

__proto__에 없고 원본에만 있는 프로퍼티는 모두 앞에 String오브젝트와 같이 작성을 해줘야하나요?

그리고 개발자 도구에서 Local 확인하려고 var instance = String.fromCharCode(....) 로 실행해보았는데

Local에는 그냥 instance : "1Aa가"로 설정되어있는데 이것도 1번 질문과 같이 프리미티브 값인건가요..?

3)  typeof 값 => 빌트인 연산자 그리고 valueOf() => 빌트인 함수 이렇게 이해하면 되는건가요?

답변 3

·

답변을 작성해보세요.

1

이것은 프리미티브값이 변수에 할당되어있다' 이렇게 해석하면 되는걸까요?
==> 맞습니다. 

자바스크립트는 처음이라 자바스크립트를 근본적으로 접근하려니 좀 헷갈리고 어렵긴 하지만 이런 기초를 다지는 과정이 멀리봤을때는 엄청난 힘이 될거라 예상되네요 :)
==> 맞습니다. 지금처럼 꼼꼼하게 하나씩 다져가면 좋은 결과를 얻을 수 있으며, 처음에는 힘들겠지만 갈수록 재미있을 것입니다. 

다시 복습하면서 기본을 계속해서 다지며 익숙해지도록 노력하겠습니다.
==> 매우 멋있는 행보입니다. 반복해서 들으면서 자신만의 코드 노트를 만들어 정리하고, 다시 생각하고 정리하고, 이렇게 진행하며 틀림없이 기본이 튼튼하게 만들어 질 것입니다.

 아 그리고 혹시 DOM 강의는 언제쯤 오픈될 예정인지 알 수 있을까요?
==> 2021년 1월 목표로 현재 만들고 있으며, 스펙의 95% 이상을 다루려고 합니다. 그래서 어쩌면 늦어질 수도 있겠습니다.

1

1) var value = "ABC"
이 코드로 생성된 프로퍼티 value :  "ABC" 이것은 프리미티브 값인가요?
강의에서는 자바스크립트엔진으로 new String("ABC")를 생성한다고 말씀하셨는데 그럼 저 상태는 어떤 형태라고 볼수 있나요?
==> var value = "ABC" 형태에서 value는 변수 이름이고 ABC는 값입니다. 이것을 프로퍼티라고 하지 않습니다. 프로퍼티는 {value: "ABC"} 형태처럼 오브젝트 안에 작성한 것을 뜻합니다. 이때 value를 프로퍼티 키 또는 프로퍼티 이름이라고 하며, "ABC"를 프로퍼티 값이라고 합니다.
-----------------
__proto__에 없고 원본에만 있는 프로퍼티는 모두 앞에 String오브젝트와 같이 작성을 해줘야하나요?
==> 맞습니다. 프로퍼티는 "오브젝트이름.프로퍼티 이름(키)" 형태로 작성해야 합니다.
-----------------
3)  typeof 값 => 빌트인 연산자 그리고 valueOf() => 빌트인 함수 이렇게 이해하면 되는건가요?
built-in이란 자바스크립트에 제공하는 연산자, 오브젝트, 함수의 총칭입니다. 한편, 연산자와 함수는 빝트인이라고 말하지 않습니다. 연산자는 개발자가 만들 수 없고 자바스크립트에서 제공하는 연산자를 사용해야 합니다. 따라서 빌트인이라고 구분하지 않아도 빌트인이기 때문에 빌트인이라고 말하지 않습니다.
valueOf()도 자바스크립트에서 제공합니다. 다만, 형태가 함수입니다. 한편, 이것을 빌트인 함수라고 불러도 되지만 일반적으로 빌트인 함수라고 하지 않고 함수라고 부릅니다.

======================
논리적으로 파고드는 모습, 너무 좋습니다. 이 모습을 더욱 활성화하고, 기본을 보다 튼튼하게 하면서 진도를 나가기 위해 더 이상 진도를 나가지 마시고, "섹션1 기본 문법"부터 다시 듣기 바랍니다. 이때 반드시 코딩을 해야 합니다. 디버거 창에 바로 코딩하지 마시고 에디터에 코딩하며, 본인이 느끼고 생각한 것을 정리해서 주석으로 남기세요. 또한 지금처럼 의문 사항이 있으면 이것도 에디터에 주석으로 작성하세요. 그리고 에디터에 편집한 것으로 복사해서 console.log()로 실행해서 확인하세요. 확인이 목적입니다, 에디터에 작성할 때 정리가 되어 있어야 합니다.

이렇게 진행하면 질문했던 것을 자문자답할 수 있을 것입니다. 만약 자문자답을 할 수 없다면, 다시 앞으로 가기 바랍니다. 본 강좌는 스펙의 95% 이상을 다루면서 또한 깊고 자세하게 다루므로, 때로는 비기너가 이해하기 어려운 깊은 내용이 나오기도 합니다. 이때, 앞 부분이 확실하게 정리가 되어 있지 않으면, 외우게 되거나 넘기게 됩니다. 그것은 질문하신 분의 성격에 맞지 않잖아요. 몇 번 들어도 모르겠다고 하면 앞 부분을 완전하게 이해하지 못한 것이므로 다시 앞부터 코딩하면서 정리하기 바랍니다.

이것은 내가 모자라서 그런 것이 아닙니다. 기본이 다져지지 않아서 그런 것입니다. 강좌를 만든 나도 가끔 비기너 강좌를 듣습니다. 그런데 들을 때마다 느끼는 것이 달라요. 깊이의 차이이기도 합니다만, 그만큼 기본이 중요하며 기본을 튼튼하게 만드는 것이 어렵다는 반증입니다.  

0

이고은님의 프로필

이고은

질문자

2020.09.28

디테일한 답변, 정말 감사합니다.

1)

1번 질문의 경우 선생님께서 오해하신거같아요..! 프로퍼티가 아니라 프리미티브 (Primitive) 를 말씀드린 겁니다!

프리미티브값같은 경우 기본데이터값을 지칭하는 용어이니

var value = "abcd"

'이것은 프리미티브값이 변수에 할당되어있다' 이렇게 해석하면 되는걸까요?

2)

그리고 혹시 DOM 강의는 언제쯤 오픈될 예정인지 알 수 있을까요?  다른 댓글에서 선생님께서 DOM강의 오픈하실거라는 내용을 살짝 봤거든요ㅎㅎ

____

자바스크립트는 처음이라 자바스크립트를 근본적으로 접근하려니 좀 헷갈리고 어렵긴 하지만 이런 기초를 다지는 과정이 멀리봤을때는 엄청난 힘이 될거라 예상되네요 :) 다시 복습하면서 직접 코드로 작성도 해보고 기본을 계속해서 다지며 익숙해지도록 노력하겠습니다. 감사합니다 !