Javascript

· Javascript
문제 src 디렉토리 안에는 클래스가 존재합니다. constructor, super, extends, class 키워드를 이용하여 구현합니다. 상속과 관련된 키워드 super, extends는 공식문서를 읽어본 후 적용해봅니다. 풀이 먼저 Grub 을 완성한뒤, Bee, HoneMakerBee,ForagerBee 순서대로 완성하면 됩니다. class Grub { // TODO.. constructor(){ // class는 항상 constructor()를 포함한다 this.age = 0; this.color = `pink`; this.food = `jelly`; } eat(){ return `Mmmmmmmmm jelly` // 콘솔이 아니라 리턴을 써야 했다 } } module.exports = Grub..
· Javascript
'__proto__' 앞서, 보았던 prototype(부모유전자)는 함수 뒤에만 쓸 수 있습니다. 속성이나 배열 같은 다른 객체에게는 쓸 수 없습니다. 하지만, '__proto__'는 모든 객체가 가지고 있는 속성이기 때문에 함수가 아닌 일반객체에서도 부모와의 상속관계를 표현할 수 있습니다. 즉 '__proto__'는 모든 객체에서 부모의 유전자를 검사할때 쓰는 속성입니다. function 기계(){ this.name = 'Kim'; this.age = 15; } var 학생1 = new 기계(); console.log(학생1.__proto__); === console.log(기계.prototype); 자식.__proto__ 는 부모. prototype을 의미한다. '__proto__'를 등록한다면? '..
· Javascript
Prototype이란? 자바스크립트에는 constructor(객체 찍어내는 기계)말고도 상속을 해주는 장치가 하나 더 있다! 바로 prototype 이다. 기계를 만들면, 우리가 모르게 prototype 이라는 게 생성된다. function 기계(){ this.name = 'Kim'; this.age = 15; } var 학생1 = new 기계(); var 학생2 = new 기계(); console.log(기계.prototype); '기계.prototype' 은 기계의 부모유전자입니다. 기계.prototype 에 변수나 함수가 들어있다면 기계로부터 생성되는 오브젝트(자식)들은 모두 그것들을 물려받아 쓸 수 있습니다. function 기계(){ this.name = 'Kim'; this.age = 15; ..
· Javascript
OOP 란? 객체 지향 프로그래밍 (Object Oriented Programming)을 뜻한다. OOP의 모든 것은 '객체'로 그룹화된다. 특히, OPP는 4가지 개념을 가지고 있어 재사용성이 좋다. OOP 4가지 개념 캡슐화(Encapsulation) 속성과 메소드를 따로 정의하지 않고, 하나의 객체 안에서 느슨하게 묶는다 은닉(구현은 숨기고, 동작은 노출시킴) 과 느슨한 결합(언제든 수정가능)에 유리하다 추상화(Abstraction) 전화기의 회로도가 눈에 보이지 않지만, 누구나 전화기를 쉽게 사용할 수 있다 너무 많은 기능이 노출되지 않게 하여 사용 상의 혼란을 없앤다 상속(Inheritance) 자식은 부모가 가진 유전자를 동일하게 갖고 있다. 그 동일한 부분을 일일히 쓰지 않고, 부모를 끌어와..
· Javascript
객체지향 프로그래밍 하나의 모델이 되는 청사진(blueprint)를 만들고 , → 클래스(class) 그 청사진을 바탕으로 한 객체를 찍어내는 프로그래밍 패턴 → 인스턴스(instance) 클래스를 만드는 최근에 ES6에 도입되었습니다. 클래스는 constructor를 품고 있습니다 class Car { constructor(brand, name, color){ //인스턴스가 만들어질 때 실행되는 코드 } } 속성과 메소드 클래스에 속성과 메소드를 정의하고, 인스턴스에서 그것을 사용합니다 ▶ 클래스: 속성의 정의 - ES5 에서는 class 와 constructor 대신 그냥 function 을 사용했다 - ES6 에서는 class 와 constructor 를 사용한다 //ES5 function Car(..
· Javascript
고차함수란? 1. 전달인자로 함수를 받는 함수 2. 함수를 리턴하는 함수 둘 중에 하나 이상 해당되면 고차함수이다. 고차함수에서 자주 쓰이는 내장고차함수 3가지 메소드가 있다. 특히, 배열 반복문에서 자주쓰이는 3인방이다. 그래서 배열 반복문 3인방이라고 이름 짓겠다. arr.filter() 특정 기준을 가지고 분류할때 (필터링) - 여러 음료중에서 티 종류만 꺼내고 싶을때 (티 종류만으로 배열만들기) 리턴값이 '참'인것만 걸러진다.문제 : 문자열을 요소로 갖는 배열을 입력받아 그 길이가 홀수인 요소만을 갖는 배열을 리턴해야 합니다.function filterOddLengthWords(words) { // TODO: 여기에 코드를 작성합니다. return words.filter(function(el){ ..
· Javascript
bind() bind()는 this 값을 고정시키는 명령! bind() 안의 첫번째 인자는 this 를 고정시키고, 두번째 인자부터는 함수가 호출될때마다 사용된다. sum이라는 함수에 this를 kim 으로 고정하는 새로운 함수(KimSum)가 만들어짐 // object 와 function 사이의 관계를 규명해보기 2 let kim = {name:'kim', first:10, second:20} let lee = {name:'lee', first:10, second:10} function sum(prefix){ return prefix +(this.first + this.second); } console.log('sum.call(kim)', sum.call(kim, '=>')); console.log('..
· Javascript
call()은 실행할때마다 어떤 객체의 this 값을 바꾸는 명령! call()은 첫번째 인자로는 그 함수에 내부적으로 this를 뭘로 할지 오고, 두번째 인자부터는 호출하려는 함수에 인자값(parameter)이 들어오게 된다 // object 와 function 사이의 관계를 규명해보기 1 //서로 아무런 관련이 없는 두 객체를 만들었어요. let kim = {name:'kim', first:10, second:20} let lee = {name:'lee', first:10, second:10} function sum(prefix){ return prefix +(this.first + this.second); // 어떤 객체에도 속해있지 않은 함수 } //sum 이라는 객체를 실행시키겠다! consol..
becky(지은)
'Javascript' 카테고리의 글 목록 (4 Page)