바닐라코딩 사전학습45 new 예약어 생성자 함수를 작성할 때 new 예약어를 사용해서 작성하게 된다. 그렇다면 new 예약어를 사용하면 무슨일이 일어나는걸까? new 예약어를 사용하면 새로운 빈 객체를 만든다 this를 새로 만들어진 객체에 bind한다 새로 만들어진 객체에 "__proto__""라 불리는 property를 더한다. 이것은 생성자함수의 prototype객체를 의미한다. return this를 함수의 끝에 추가한다. 때문에 객체는 함수로부터 return되어 만들어진 것이다. function Student(name, age) { this.name = name; this.age = age; } Student라는 생성자 함수를 만들었다. 이 함수는 name, age라는 두개의 파라미터를 가진다. 이 인자들은 this의 value에.. 2021. 12. 27. 객체 생성자 함수 객체 생성자 함수란? 객체의 인스턴스를 생성하는 함수. new 연산자를 사용해서 빈 객체를 생성할 수 있다. const car = new Object(); 생성자 함수를 통해 생성한 객체를 '인스턴스' 라고 한다. 다음과 같이 생성한 인스턴스에 프로퍼티나 메서드를 추가할 수도 있다. car.name = 'K5'; car.start = function () { console.log('Starting up'); }; console.log(car.start()); JS에서는 객체 뿐만 아니라 문자열, 숫자, 불리언, 함수 등을 생성자 함수를 통해 생성할 수 있다. 생성자 함수를 사용하는 이유 객체를 생성할 때는 생성자 함수보다 객체 리터럴을 사용하는 것이 보다 편리하다. 그러나 생성자 함수는 다음과 같이 동일.. 2021. 12. 27. 메모리 주소는 무슨 타입일까? 메모리 주소는 포인터타입이다. 포인터타입은 primitive자료형이다. 참조) c++ - what data type is an Address? - Stack Overflow what data type is an Address? I have a map that will store a string, and a corresponding address(memory) that contains a integer value or char value. map myMap; //What datatype would address be? I'm not... stackoverflow.com Primitive vs non-primitive data structure - javatpoint Primitive vs non-primi.. 2021. 12. 27. Primitive / Reference 퀴즈 Q1) const person = { age: 30 }; const something = person.age; person.age = 50; console.log(something); // ? 예상 답 : 30 예상 이유 : person은 참조형타입인 객체이고 person.age는 원시타입인 숫자이다. 따라서 sometihg에도 원시타입인 30이 저장되고 이후에 person.age값이 바뀌어도 따라서 바뀌지 않는다. 정답 : 30 Q2) let one = { name: "one" }; const two = { name: "two" }; const something = one; one = { name: "ONE" }; console.log(something); // ? 예상 답 : "ONE: 예상 이유 :.. 2021. 12. 27. Call by value / Call by reference Call by value (값의 복사) Call by value는 값이 그대로 복사되는 방식이다. JS에서는 Primitive데이터타입이 Call by value 방식이 사용된다. let a = 50; let b = a; // a의 값을 복사해서 b에 대입 console.log(`a:${a}, b:${b}`); // 50, 50 b = 100; console.log(`a:${a}, b:${b}`); // 50, 100 실제로는 b가 a와 같은 메모리주소값을 갖게되는 것이지만 표면적으로는 값을 그대로 복사해서 가지게 되는 형태이다. function swap(val1,val2) { let temp = val1 val1 = val2; val2 = temp; } let a = 1, b = 2; swap(a,b).. 2021. 12. 27. 콜스택 / 메모리힙 구조, 데이터저장 / 참조 원리 이 글은 카레유님의 글을 보고 공부한 내용을 작성하였습니다 [자바스크립트] 콜스택/메모리힙 구조, 데이터 저장/참조 원리 (tistory.com) 콜스택, 메모리힙이란? JS는 콜스택과 메모리힙이라는 메모리 구조를 통해 데이터 및 코드 실행을 관리한다. 1. 콜스택(Call stack) 원시타입 데이터가 저장된다. 실행컨텍스트(Execution Context)를 통해 1)변수 식별자(이름) 저장 2) 스코프 체인 및 this관리 3)코드 실행 순서관리 등을 수행 2. 메모리힙 참조타입 데이터가 저장된다 힙은 용량이 유연하게 늘어날 수 있다. 콜스택, 메모리힙의 데이터 구조 1. 원시타입 데이터(파란색 변수a) 10이라는 값은 원시타입이므로 콜스택에 저장된다 변수 a에는 10이 저장된 콜스택 메모리의 주소.. 2021. 12. 27. 이전 1 2 3 4 5 6 ··· 8 다음