블로그
전체 11#태그
- 가온아이
- 자바스크립트
- 첼린지
- 스터디
- 알고리즘
- 학습
- 배달의민족
- 유니콘
- 스타트업
2021. 08. 14.
0
[JavaScript Challenge] 모던자바스크립트 딥 다이브 마라톤 8회차
🚀 JavaScript Challenge 🚀 자바스크립트 첼린지 노션 학습노트 바로 가기 >> 안녕하세요 ! 챌린지라는 단어를 들으면 뭔가 설레지 않나요? 💪🏻 챌린지는 어려운 사업이나 기론 경신 따위에 맞섬을 비유적으로 이르는 말이라고 합니다 :) 저희 스터디는 끊임없이 도전하며 서로의 성장을 도모합니다.저희는 서로 배운 내용을 공유하며, 부족한 부분을 채워주며 함께 성장하는 스터디 입니다. 반갑습니다 🙌🏻 🌟 스터디 진행 회차 및 일자 🌟 [JavaScript Challenge] 8회차(2021.08.14) 토요일 ✏️ 스터디 주요 내용 ✏️ 📚 학습 노트 📘 최재영 님의 학습노트 📘 김수진 님의 학습노트 📘 노가혜 님의 학습노트 📘 김주영 님의 학습노트 📚 학습 진도 🧑🏻‍💻김주영 - Strict mode 👩🏻‍💻김수진 - 실행컨텍스트 🧑🏻‍💻최재영 - 실행컨텍스트 👩🏻‍💻노가혜 - 클로저 🧑🏻‍💻 다음번 스터디 주제 👩🏻‍💻 👩🏻‍💻 김수진 ⇒ 클로저의 활용 🧑🏻‍💻 최재영 ⇒ 클래스 👩🏻‍💻 노가혜 ⇒ 클래스 🧑🏻‍💻 김주영 ⇒ 클래스 오늘도 다들 학습하시느라 고생 많으셨습니다.
자바스크립트
・
첼린지
・
스터디
2021. 08. 13.
1
[💪🏻Altong Study] 자바스크립트 알고리즘 스터디 3회차
🦾 Altong Study 🦾 알통 노션 학습노트 바로 가기 >> 안녕하세요 ! 본격 알고리즘 통달 스터디 알통 입니다 ! 통달이라는 뜻 알고 계시나요? 통달 - 사물의 이치나 지식, 기술 따위를 훤희 알거나 아주 능란하게 하다 :) 저희의 목표는 알고리즘 기초부터 시작해서 차근차근 통달해 가는 것을 목표로 합니다 ! 저희 스터디는 프로그래밍 언어 JavaScript를 활용하여, 기초부터 시작하여 성장하는 스터디입니다 ! 혼자만의 성장이 아닌 함께 성장하는 스터디입니다. 반갑습니다 🙌🏻 🌟 스터디 진행 회차 및 일자 🌟 [💪🏻Altong Study] 3회차(2021.08.13) 목요일 ✏️ 스터디 주요 내용 ✏️ 📚 학습 노트 📘 최재영 님의 Pull Request [ click ] 📘 통붕이 님의 Pull Request [ click ] 📘 김우정 님의 Pull Request [ click ] 🧑🏻‍💻 다음번 주제 및 공지사항 👩🏻‍💻 오늘도 학습하시느라 다들 고생 많으셨습니다.
알고리즘
・
스터디
・
학습
・
자바스크립트
2021. 08. 09.
3
[💪🏻Altong Study] 자바스크립트 알고리즘 스터디 2회차
🦾 Altong Study 🦾 자바스크립트 첼린지 노션 학습노트 바로 가기 >> 안녕하세요 ! 본격 알고리즘 통달 스터디 알통 입니다 ! 통달이라는 뜻 알고 계시나요? 통달 - 사물의 이치나 지식, 기술 따위를 훤희 알거나 아주 능란하게 하다 :) 저희의 목표는 알고리즘 기초부터 시작해서 차근차근 통달해 가는 것을 목표로 합니다 ! 저희 스터디는 프로그래밍 언어 JavaScript를 활용하여, 기초부터 시작하여 성장하는 스터디입니다 ! 혼자만의 성장이 아닌 함께 성장하는 스터디입니다. 반갑습니다 🙌🏻 🌟 스터디 진행 회차 및 일자 🌟 [💪🏻Altong Study] 1회차(2021.08.06) 금요일 ✏️ 스터디 주요 내용 ✏️ 📚 학습 노트 📘 최재영 님의 학습노트 [ click ] 📘 손수림 님의 학습노트 [ click ] 📘 통붕이 님의 학습노트 [ click ] 📘 김우정 님의 학습노트 [ click ] 📚 피드백 노트 📒 최재영 님의 피드백노트 [ click ] 📒 손수림 님의 피드백노트 [ click ] 📒 통붕이 님의 피드백노트 [ click ] 📒 김우정 님의 피드백노트 [ click ] 📚 배분 문제 🧑🏻‍💻최재영 - 가장 긴 문자열 👩🏻‍💻손수림 - 문자찾기 🧑🏻‍💻통붕이 - 중복문자제거 🧑🏻‍💻김우정 - 일곱난쟁이 🙋🏻 스터디에서 나왔던 질문 🙋🏻‍♀️ Q1. for of 문의 symbol.iterator가 무슨 의미인가요? 🧑🏻‍💻 질문에 대한 답변 👩🏻‍💻 통붕이 님의 답변 symbol.iterator 를 가지고 있을 경우 for of 문을 활용해서 값을 열거할 수 있다. 객체 형태는 for in 으로만 열거가 가능하다. 또한 객체 형태에는 symbol.iterator 가 존재하지 않는다. for of 문의 동작 원리 for of문이 순회하며 값을 열거하기 시작할 때 next() 라는 메서드가 호출이 되고있다. 순회를 통해서 만약 done의 프로퍼티가 true가 될 경우 순회를 이터레이터를 종료한다 ! 🧑🏻‍💻 다음번 주제 및 공지사항 👩🏻‍💻 다음 스터디 공지사항 및 주제 [click] 오늘도 다들 학습하시느라 고생 많으셨습니다.
2021. 08. 09.
0
[JavaScript Challenge] 모던자바스크립트 딥 다이브 마라톤 7회차
안녕하세요 ! 챌린지라는 단어를 들으면 뭔가 설레지 않나요? 💪🏻 챌린지는 어려운 사업이나 기론 경신 따위에 맞섬을 비유적으로 이르는 말이라고 합니다 :) 저희 스터디는 끊임없이 도전하며 서로의 성장을 도모합니다.저희는 서로 배운 내용을 공유하며, 부족한 부분을 채워주며 함께 성장하는 스터디 입니다. 반갑습니다 🙌🏻 🌟 스터디 진행 회차 및 일자 🌟 [JavaScript Challenge] 7회차(2021.08.05) 목요일 ✏️ 스터디 주요 내용 ✏️ 📚 학습 노트 📘 최재영 님의 학습노트 📘 김수진 님의 학습노트 📘 노가혜 님의 학습노트 📚 피드백 노트 📒 최재영 님의 피드백노트 📒 김수진 님의 피드백노트 📒 노가혜 님의 피드백노트 🙋🏻 스터디에서 나왔던 질문 🙋🏻‍♀️ Q1. 보이지 않는 개념 블록이라는 것은 무엇인가요? 🧑🏻‍💻 질문에 대한 답변 👩🏻‍💻 Q1. 보이지 않는 개념 블록이라는 것은 무엇인가요? 김수진 님의 답변 TDZ : 보이지 않는 개념 블록 ⇒ let, const로 선언한 변수는 "선언 단계" 와 "초기화 단계"가 분리 ⇒ 단계 사이에는 일시적 사각지대(TDZ)가 존재, 변수를 선언하기 전에는 TDZ에서 관리 ⇒ 변수를 선언하기 전에 사용한다면 TDZ에서 ReferenceError 발생 🧑🏻‍💻 다음번 스터디 및 공지사항 👩🏻‍💻 8월 6일 공지사항 보러가기 [click] 오늘도 다들 학습하시느라 고생 많으셨습니다.
2021. 07. 26.
0
[JavaScript Challenge] 모던자바스크립트 딥 다이브 마라톤 6회차
🚀 JavaScript Challenge 🚀 자바스크립트 첼린지 노션 학습노트 바로 가기 >> 안녕하세요 ! 챌린지라는 단어를 들으면 뭔가 설레지 않나요? 💪🏻 챌린지는 어려운 사업이나 기론 경신 따위에 맞섬을 비유적으로 이르는 말이라고 합니다 :) 저희 스터디는 끊임없이 도전하며 서로의 성장을 도모합니다.저희는 서로 배운 내용을 공유하며, 부족한 부분을 채워주며 함께 성장하는 스터디 입니다. 반갑습니다 🙌🏻 🌟 스터디 진행 회차 및 일자 🌟 [JavaScript Challenge] 6회차(2021.07.24) 토요일 스터디 원 한분이 더 이상 참여를 못하게 되었습니다 ! ✏️ 스터디 주요 내용 ✏️ 📚 학습 노트 📘 최재영 님의 학습노트 📘 김수진 님의 학습노트 📘 조항주 님의 학습노트 📘 노가혜 님의 학습노트 📚 학습 진도 최재영 19장 - 객체 지향 프로그래밍 조항주 19장 - 프로토타입의 생성 시점 김수진 19장 - 오버라이딩과 프로퍼티 섀도잉 노가혜 19장 - 정적 프로퍼티 / 메서드 🙋🏻 스터디에서 나왔던 질문 🙋🏻‍♀️ Q1. 프로토타입 교체는 어떻게 이루어지는 건가요? Q2. Create.new에 관하여 🧑🏻‍💻 질문에 대한 답변 👩🏻‍💻 Q1. 프로토타입 교체는 어떻게 이루어지는 건가요? 김수진 님의 답변 ✅ 생성자 함수의 prototpye 프로퍼티를 통해 프로토타입을 교체 할 경우 constructor의 링크가 깨지며 새로운 프로토타입으로 교체가 되어버린다. 이 때 constructor는 프로토타입 체인에 의하여 Object.prototype의 constructor의 값을 가리키게된다. 그렇기에 constructor의 링크를 깨뜨리지 않기 위해서는 아래 코드처럼 입력을 해야한다 const Person = (function () { function Person(name) { this.name = name; } // ① 생성자 함수의 prototype 프로퍼티를 통해 프로토타입을 교체 Person.prototpye = { // constructor 연결 constructor: Person, sayHello() { console.log(`Hello! I'm ${this.name}`); } }; return Person; }()); const person1 = new Person('kim'); console.log(person1.constructor); // Person console.log(person1.constructor === Object); // false Create.new에 관하여 최재영 님의 답변 Object.create = 정적 메서드 ??????? // Object.create = 정적 메서드 const obj = Object.create({ name: 'Lee' }); console.log(obj); // {} // Object.prototype.hasOwnProperty = 프로토타입 메서드 console.log(obj.hasOwnProperty('name')); // false ✅ console.log(obj) 시에 빈 칸이 나오는 이유 Object.create 를 사용하여 프로퍼티를 추가 할 경우에 새로운 프로토타입에 프로퍼티를 추가하는 것이므로 obj 객체 내에는 아무런 프로퍼티가 생기지 않음 만약 빈칸이 아닌 프로퍼티를 추가하고 싶다면 아래와 같이 객체내에 직접적으로 추가해야함. const obj = Object.create({ ProtoName: 'Lee' }); obj.Objname='Lee' console.log(obj); // {name: "Lee"} console.log(obj.hasOwnProperty('Objname')); // true Protoname 의 프로퍼티가 들어간 객체는 현재 Objname의 프로토타입인 것을 알 수 있음. console.log(obj.hasOwnProperty('name')) 가 false가 나오는 이유 가혜님의 설명 참조 Object.prototype.hasOwnProperty 메서드 → 이름에서 알 수 있듯이 객체 자신에 해당 프로퍼티가 있는지 확인할 수 있는 메서드 const person = { name: 'Lee', address: 'Seoul', }; console.log(person.hasOwnProperty('name')); // true console.log(person.hasOwnProperty('address')); // true console.log(person.hasOwnProperty('age')); // false // toString는 person 객체 자신에는 없으므로 false가 출력이 된다. console.log(person.hasOwnProperty('toString')); // false 결국 기존 name은 객채 자신에 해당 프로퍼티가 존재하는 것이 아닌 프로토타입에 존재했기에 false가 출력된 것임. 🧑🏻‍💻 다음번 스터디 주제 👩🏻‍💻 새로운 인원 충원과 함께 스터디 방향에 대하여 다시 한번 의논해 볼 생각입니다 ㅎㅎ 오늘도 다들 학습하시느라 고생 많으셨습니다.
2021. 07. 23.
2
[Altong Study] 자바스크립트 알고리즘 스터디 1회차
🦾 Altong Study 🦾 자바스크립트 첼린지 노션 학습노트 바로 가기 >> 안녕하세요 ! 본격 알고리즘 통달 스터디 알통 입니다 ! 통달이라는 뜻 알고 계시나요? 통달 - 사물의 이치나 지식, 기술 따위를 훤희 알거나 아주 능란하게 하다 :) 저희의 목표는 알고리즘 기초부터 시작해서 차근차근 통달해 가는 것을 목표로 합니다 ! 저희 스터디는 프로그래밍 언어 JavaScript를 활용하여, 기초부터 시작하여 성장하는 스터디입니다 ! 혼자만의 성장이 아닌 함께 성장하는 스터디입니다. 반갑습니다 🙌🏻 🌟 스터디 진행 회차 및 일자 🌟 [💪🏻Altong Study] 1회차(2021.07.22) 목요일 전원 참석 ! ✏️ 스터디 주요 내용 ✏️ 📚 학습 노트 📘 최재영 님의 학습노트 [ click ] 📘 손수림 님의 학습노트 [ click ] 📘 통붕이 님의 학습노트 [ click ] 📘 이지열 님의 학습노트 [ click ] 📚 피드백 노트 📒 최재영 님의 피드백노트 [ click ] 📒 손수림 님의 피드백노트 [ click ] 📒 통붕이 님의 피드백노트 [ click ] 📒 이지열 님의 피드백노트 [ click ] 📚 배분 문제 🧑🏻‍💻최재영 - 10부제 👩🏻‍💻손수림 - 홀수 🧑🏻‍💻통붕이 - 세 수 중 최솟값 🧑🏻‍💻이지열 - 10부제 🙋🏻 스터디에서 나왔던 질문 🙋🏻‍♀️ Q1. ODD 변수 명의 의미는 무엇인가요? Q2. rest파라미터와 arguments 객체의 차이는 무엇인가요? Q3. if else문을 사용하지 않고 삼항연산자를 사용하신 이유는 무엇인가요? 🧑🏻‍💻 질문에 대한 답변 👩🏻‍💻 Q1. ODD 변수 명의 의미는 무엇인가요? 손수림 님의 답변 변수명을 odd로 지을 경우에는 홀수의 값을 식별할 때 사용하는 변수 네이밍입니다. 변수명을 even로 지을 경우에는 짝수의 값을 식별할 때 사용하는 변수 네이밍입니다. 자세히 알아보기 [ click ] Q2. rest파라미터와 arguments 객체의 차이는 무엇인가요? 통붕이 님의 답변 함수의 내부슬롯인 argument 객체는 유사배열객체이기에 Array에 관련된 함수를 사용할 수 없습니다 반면에 rest파라미터를 사용할 경우에 객체처럼 사용이 가능하여 원소들을 전개하여 사용할 수 있습니다. 함수 객체의 프로퍼티 argument 일반 객체에는 없는 함수 객체 고유의 프로퍼티 function func1(a, b, c) { console.log(arguments); console.log(arguments[0]); console.log(arguments[1]); arguments[2] = 100; } func1(4,5); arguments라는 프로퍼티에 담긴 객체에는 다양한 정보가 담겨있다. 이곳에는 함수에 전달된 인수의 정보를 담고 있다. Q3. if else문을 사용하지 않고 삼항연산자를 사용하신 이유는 무엇인가요? 통붕이 님의 답변 한줄로 표현할 수 있는 조건문의 경우에는 삼항연산자를 표현하는 것이 좀 더 코드의 가독성도 좋고 편리합니다 반면에 좀 더 많은 조건이 들어가는 경우에는 if else문을 사용하는 것이 적합합니다. 상황에 맞게 삼항연산자와 if else문을 사용하시면 좋을 것 같습니다 🧑🏻‍💻 다음번 주제 및 공지사항 👩🏻‍💻 지열님께서 정리해주신 공지사항 및 스터디 주제 7월 22일 첫 스터디 합의 사항 [click] 7월 29일 스터디 문제 및 발표 순서 [click] 오늘도 다들 학습하시느라 고생 많으셨습니다.
2021. 07. 19.
0
[JavaScript Challenge] 모던자바스크립트 딥 다이브 마라톤 5회차
🚀 JavaScript Challenge 🚀 자바스크립트 첼린지 노션 학습노트 바로 가기 >> 안녕하세요 ! 챌린지라는 단어를 들으면 뭔가 설레지 않나요? 💪🏻 챌린지는 어려운 사업이나 기론 경신 따위에 맞섬을 비유적으로 이르는 말이라고 합니다 :) 저희 스터디는 끊임없이 도전하며 서로의 성장을 도모합니다.저희는 서로 배운 내용을 공유하며, 부족한 부분을 채워주며 함께 성장하는 스터디 입니다. 반갑습니다 🙌🏻 🌟 스터디 진행 회차 및 일자 🌟 [JavaScript Challenge] 5회차(2021.07.17) 일요일 ✏️ 스터디 주요 내용 ✏️ 📚 학습 노트 📘 최재영 님의 학습노트 📘 김수진 님의 학습노트 📘 조항주 님의 학습노트 📘 노가혜 님의 학습노트 📚 피드백 노트 📒 최재영 님의 피드백노트 📒 김수진 님의 피드백노트 📒 조항주 님의 피드백노트 📒 노가혜 님의 피드백노트 📚 학습 진도 🧑🏻‍💻노가혜 ⇒ 15장 - ▣ 15장: let, const 키워드와 블록 레벨 스코프 🧑🏻‍💻조항주 ⇒ 16장 - ▣ 16장: 프로퍼티 어트리뷰트 🧑🏻‍💻최재영 ⇒ 17장 - ▣ 17장: 생성자 함수에 의한 객체 생성 🧑🏻‍💻김수진 ⇒ 18장 - ▣ 18장: 함수와 일급 객체 🙋🏻 스터디에서 나왔던 질문 🙋🏻‍♀️ Q1. "조 사장"이 어떻게 "조 항주"로 바뀐건가요? Q2. 함수 내부의 argument 프로퍼티는 어떤 구조인가요? Q3. var 키워드의 변수 호이스팅과 다른 키워드와의 차이점은 무엇인가요? 🧑🏻‍💻 질문에 대한 답변 👩🏻‍💻 Q1. "조 사장"이 어떻게 "조 항주"로 바뀐건가요? 조항주 님의 답변 split 메서드를 활용할 경우 전달받은 인자를 구분지어주는 역할을 합니다. set메서드의 name매개 변수를 통해 전달받은 인자, 즉 2개의 원소로 구분지어진 값이 각 각 firstName과 lastName의 프로퍼티에 할당되는 것입니다. Q2. 함수 내부의 argument 프로퍼티는 어떤 구조인가요? 김수진 님의 답변 ⇒ arguments 객체는 함수에 전달된 인수의 정보를 담고 있는 Array 형태의 객체 ⇒ 함수 내부에서 지역 변수처럼 사용( 외부에서 참조 X) ⇒ 함수의 매개변수와 인수의 개수가 일치하지 않아도 에러 발생 X function func1(a, b, c) { console.log(arguments); console.log(arguments[0]); console.log(arguments[1]); arguments[2] = 100; } func1(4,5); Q3. var 키워드의 변수 호이스팅과 다른 키워드와의 차이점은 무엇인가요? 노가혜 님의 답변 var키워드의 예제코드 // var 호이스팅을 의해 이미 number 변수가 선언되었다. console.log(number); // undefined number = 100; // 변수 선언을 안한 상태로 값을 할당해줌... console.log(number); // 100이 출력이 됨 ㅋㅋㅋㅋ var number; // 변수 선언 let, const는 호이스팅이 발생하지 않는 것'처럼' 동작한다.(사실 호이스팅이 발생한다.) let num = 1; { console.log(num); // 전역 변수 1이 출력이 되는 게 아니라 에러가 출력이 된다 let num = 100; } console.log(num); 🧑🏻‍💻 다음번 스터디 주제 👩🏻‍💻 🧑🏻‍💻최재영 ⇒ ▣ 19장 : 19.1~19.4 🧑🏻‍💻조항주 ⇒ ▣ 19장 : 19.5~19.7 🧑🏻‍💻김수진 ⇒ ▣ 19장 : 19.8~19.11 🧑🏻‍💻노가혜 ⇒ ▣ 19장 : 19.12~19.14 오늘도 다들 학습하시느라 고생 많으셨습니다.
2021. 07. 11.
0
[JavaScript Challenge] 모던자바스크립트 딥 다이브 마라톤 4회차
🚀 JavaScript Challenge 🚀 자바스크립트 첼린지 노션 학습노트 바로 가기 >> 안녕하세요 ! 챌린지라는 단어를 들으면 뭔가 설레지 않나요? 💪🏻 챌린지는 어려운 사업이나 기론 경신 따위에 맞섬을 비유적으로 이르는 말이라고 합니다 :) 저희 스터디는 끊임없이 도전하며 서로의 성장을 도모합니다.저희는 서로 배운 내용을 공유하며, 부족한 부분을 채워주며 함께 성장하는 스터디 입니다. 반갑습니다 🙌🏻 🌟 스터디 진행 회차 및 일자 🌟 [JavaScript Challenge] 4회차(2021.07.10) 토요일 ✏️ 스터디 주요 내용 ✏️ 📚 학습 노트 📘 최재영 님의 학습노트 📘 김수진 님의 학습노트 📘 조항주 님의 학습노트 📘 노가혜 님의 학습노트 📚 피드백 노트 📒 최재영 님의 피드백노트 📒 조항주 님의 피드백노트 📒 노가혜 님의 피드백노트 📚 학습 진도 김수진 12장 함수 - 12.1 함수란? ~ 12.5 함수 호출 최재영 12장 함수 - 12.6 참조에 의한 전달과 외부 상태의 변경 ~ 12.7 다양한 함수의 형태 조항주 13장 스코프 노가혜 14장 전역 변수의 문제점 🙋🏻 스터디에서 나왔던 질문 🙋🏻‍♀️ 노가혜 : Q1. var 키워드를 사용하시나요? 최재영 : Q2. 호출에 의해서 상위 스코프를 결정하는 동적인 방식은 어떻게 진행이 되는 건가요? 🧑🏻‍💻 질문에 대한 답변 👩🏻‍💻 var 키워드를 사용하시나요? 최재영 님의 답변 var키워드는 함수레벨스코프, 변수호이스팅의 문제 등등으로 인하여 현재는 많이 사용되지 않는 변수 키워드로 알고 있습니다. 하지만 var키워드가 왜 쓰이지 않는지, 어떤 문제점이 있는지에 대하여는 알고 넘어가야 할 부분이라고 생각합니다. 기존에 쓰이던 var키워드의 문제점은 let키워드와 const키워드는 어떻게 보완하였는지에 대하여 아는 것도 좋을 것 같다는 생각이 듭니다. 또한 모던 딥 다이브 책에서는 초반 부분에 var키워드를 활용한 예시들이 많이 보입니다. 그에 대한 문제점은 초반에 설명을 해주지 않는데요 바로 다음 장에서는 let, const, var키워드를 비교하는 장이 나옵니다. 거기서 함께 좀 더 자세하게 알아보면 좋을 것 같습니다. 호출에 의해서 상위 스코프를 결정하는 동적인 방식은 어떻게 진행이 되는 건가요? 조항주 님의 답변 1.함수를 어디서 호출했는지에 따라 함수의 상위 스코프를 결정한다. 2.함수를 어디서 정의했는지에 따라 함수의 상위 스코프를 결정한다. 첫 번째 방식을 동적 스코프라 합니다. 함수를 정의하는 시점에는 함수가 어디서 호출될지 알 수 없고 함수가 호출되는 시점에 동적으로 상위 스코프를 결정해야 하기 때문에 동적 스코프라고 부릅니다 두번째 방식을 렉시컬 스코프 또는 정적 스코프라고 부릅니다. 함수가 정의가 평가되는 시점에 상위 스코프가 정적으로 결정되기 때문에 정적 스코프라고 부릅니다 자바스크립트를 비롯한 대부분의 프로그래밍 언어는 렉시컬 스코프를 따릅니다. var x=1; function foo(){ var x=10; bar(); } function bar() { console.log(x); } foo(); //1 bar(); //1 자바스크립트는 렉시컬 스코프이기 때문에 bar함수는 전역 코드가 실행되기 전에 먼저 평가되어 함수 객체를 생성하고 이 때 생성된 bar 함수 객체는 자신이 정의된 스코프를 기억하기 때문에 위의 코드는 1을 두번 호출합니다. 🧑🏻‍💻 다음번 스터디 주제 👩🏻‍💻 🧑🏻‍💻노가혜 ⇒ 15장 - ▣ 15장: let, const 키워드와 블록 레벨 스코프 🧑🏻‍💻조항주 ⇒ 16장 - ▣ 16장: 프로퍼티 어트리뷰트 🧑🏻‍💻최재영 ⇒ 17장 - ▣ 17장: 생성자 함수에 의한 객체 생성 🧑🏻‍💻김수진 ⇒ 18장 - ▣ 18장: 함수와 일급 객체 오늘도 다들 학습하시느라 고생 많으셨습니다.
2021. 07. 03.
2
[JavaScript Challenge] 모던자바스크립트 딥 다이브 마라톤 3회차
🚀JavaScript Challenge🚀 노션 학습노트 바로가기 [click] 안녕하세요 ! 챌린지라는 단어를 들으면 뭔가 설레지 않나요?챌린지는 어려운 사업이나 기론 경신 따위에 맞섬을 비유적으로 이르는 말이라고 합니다 :) 저희 스터디는 끊임없이 도전하며 서로의 성장을 도모합니다.저희는 서로 배운 내용을 공유하며, 부족한 부분을 채워주며 함께 성장하는 스터디입니다 🌟스터디 진행 회차 및 일자🌟 [JavaScript Challenge] 3회차(2021.7.03) 토요일 팀원 1명은 다음주 부터 참석을 해주신다고 하셨구요 !나머지 3명은 모두 참여해주셨습니다. 🌟스터디 주요 내용🌟 📚 학습 노트 📘 김수진 님의 학습노트 >>📘 조항주 님의 학습노트 >>>" target="_blank" rel="noopener noreferrer">📘 최재영 님의 학습노트 >> 📚 피드백 노트 📒 김수진 님의 피드백 노트📒 조항주 님의 피드백 노트📒 최재영 님의 피드백 노트 ✏️ 학습 진도 최재영 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장 - 노가혜 이상입니다 ㅎㅎㅎ
2021. 06. 26.
0
[JavaScript Challenge] 모던자바스크립트 딥 다이브 마라톤 2회차
노션 학습노트 바로가기 [click] 스터디 팀 명 🚀JavaScript Challenge🚀 스터디 진행 회차 및 일자 2회차(2021.06.26) 스터디 참여자 팀원중 한명은 사정상 7월부터 시작하기로 하였습니다.이외 나머지 3명은 모두 참여해주셨습니다. 스터디 주요 내용 모던자바스크립트 서적의 내용중 연산자, 데이터 타입, 표현식과 문, 제어문을 나눠서 함께 학습을 했습니다. 스터디원1 5장,8장 스터디원2 6장 스터디원3 7장 부분을 정리하여 노션에 업로드하였습니다. 스터디에서 나왔던 질문 Q1: symbol의 특징과 활용방법 Q2: 부수효과란 어떤 효과를 말하는 것인가? Q3: if else문과 삼항조건연산자 문의 차이는 무엇인가? Q4: 전위/후위 증감 연산자는 어떤 방식으로 이루어지는가? Q5: 데이터타입이 필요한 이유는 무엇인가? 질문에 대한 서로의 답과 아직 해결하지 못한 질문들 해결하지 못한 질문들 같은 경우에는 따로 보충하여 피드백에 적기로 하였습니다.스터디원 중에는 Symbol에 대한 내용을 스터디원들에게 이해시켜주기 위해서 보충 설명을 해주신다고 하셨고 그 내용을 노션에 정리하여 업로드 해주셨습니다. 다음번 스터디 주제 다음번 부터는 9장 10장 11장의 내용을 함께 학습하기로 했습니다.