[JavaScript Challenge] 모던자바스크립트 딥 다이브 마라톤 3회차

[JavaScript Challenge] 모던자바스크립트 딥 다이브 마라톤 3회차

🚀JavaScript Challenge🚀

노션 학습노트 바로가기 [click]

안녕하세요 ! 챌린지라는 단어를 들으면 뭔가 설레지 않나요?
챌린지는 어려운 사업이나 기론 경신 따위에 맞섬을 비유적으로 이르는 말이라고 합니다 :)

저희 스터디는 끊임없이 도전하며 서로의 성장을 도모합니다.
저희는 서로 배운 내용을 공유하며, 부족한 부분을 채워주며 함께 성장하는 스터디입니다

🌟스터디 진행 회차 및 일자🌟

[JavaScript Challenge] 3회차(2021.7.03) 토요일

팀원 1명은 다음주 부터 참석을 해주신다고 하셨구요 !나머지 3명은 모두 참여해주셨습니다.

🌟스터디 주요 내용🌟

📚 학습 노트

📘 김수진 님의 학습노트 >>
📘 조항주 님의 학습노트 >>
📘 최재영 님의 학습노트 >>

📚 피드백 노트

📒 김수진 님의 피드백 노트
📒 조항주 님의 피드백 노트
📒 최재영 님의 피드백 노트

✏️ 학습 진도

최재영 9장 - 타입 변화와 단축 평가
김수진 10장 - 객체 리터럴
조항주 11장 - 원시 값과 객체의 비교

🙋🏻스터디에서 나왔던 질문🙋🏻‍♀️

Q1: string(0123)를 출력했을 경우 "0123"이 출력되지 않는 이유에 대하여

Q2: 인스턴스가 무엇을 의미하나요 ?

Q3: 객체를 할당한 변수를 얕은 복사를 할 경우 메모리 셀에 바로 접근하지 않고 주소 값을 복사하여 참조하는 이유는 무엇인가요?

Q1: string(0123)를 출력했을 경우 "0123"이 출력되지 않는 이유에 대하여

문자열 타입으로 변환

console.log(String(551)); // "551"

console.log(String(0123)); // "83"

분명 String()은 괄호안에 있는 Number값을 string으로 타입변환 해준다. 하지만 0으로 시작되는 숫자값을 출력하면 다른 값이 나오는 것을 알 수 있다 이건 무슨이유에서일까? 검색해봤지만 도무지 답을 모르겠다.

Q1.에 대한 수진님의 답변

재영님 파트에서 궁금했던 부분

String() 함수에서 매개변수에 0으로 시작되는 숫자를 넣었을 때 생기는 변화

⇒ 매개변수 안에 0으로 시작되는 숫자를 넣으면 8진수로 인식하여 10진수로 변환하여 문자열로 저장

console.log(String(123));  // '123'
console.log(String(0123)); // '83'

console.log(String(012);   // '10'
console.log(String(013));  // '11'
console.log(String(014));  // '12'

Q2. 인스턴스란 무엇인가?

Q2.에 대한 재영님의 답변

인스턴스란 클래스로 객체를 만들 경우에 인스턴스라 불리운다고 합니다. 객체지향언어에서 흔히 사용되는 클래스가 자바스크립트에서는 프로토타입 이며 생성자 함수가 사용된다고 합니다 즉 , 클래스나 프로토타입을 사용하여 만들어 낸 것이 인스턴스라고 볼 수 있습니다.

클래스: 다른 객체를 만드는 틀

클래스를 정리한 글 >>

자바스크립트는 객체지향언어이지만 클래스 방식이 아닌 프로토타입 방식의 객체지향언어입니다. 즉 인스턴스를 만드는 방법이 클래스를 사용하지 않는 것만 다르며 거의 동일하다.인스턴스의 개념은 뒷 부분 객체지향언어 부분을 배우면서 좀 더 자세히 익힐 수 있을 것 같습니다. 뒷부분에서 인스턴스에 대한 개념이 나오면 좀 더 이해해보기 위해서 노력해봐야겠습니다.

Q2.에 대한 수진님의 답변

인스턴스?

⇒ 객체가 모든 인스턴스를 대표하는 포괄적인 의미

⇒ 인스턴스는 객체에 포함된다고 볼 수 있다.

⇒ 인스턴스를 생성하는 유일한 존재는 class, 즉 클래스로 객체를 만들면 인스턴스

⇒ 객체가 메모리에 할당되어 실제 사용될 때 인스턴스라 불린다.

⇒ 객체는 클래스의 인스턴스

class Person {}

// 인스턴스 생성
const me = new Person();

Q3: 객체를 할당한 변수를 얕은 복사를 할 경우 메모리 셀에 바로 접근하지 않고 주소 값을 복사하여 참조하는 이유는 무엇인가요?

Q3에 대한 항주님의 답변

객체는 프로퍼티의 개수가 정해져 있지 않으며, 동적으로 추가되고 삭제할 수 있습니다. 또한 프로퍼티에도 제약이 없기 때문에 객체는 원시값과 같이 확보해야 할 메모리 공간의 크기를 사전에 정해둘 수 없습니다.

🌈 다음번 스터디 주제

이후 추가 업데이트 하겠습니다.

12 1~6장 함수 - 김수진
12 6~7장 함수 - 최재영
13장 - 조항주
14장 - 노가혜 


이상입니다 ㅎㅎㅎ 

댓글을 작성해보세요.

채널톡 아이콘