새롭게 글을 썼습니다. diff알고리즘을 적용해서 https://ms3864.tistory.com/409 바닐라자바스크립트(ts)에서 컴포넌트 만들기1(diff 알고리즘) 배경 사실 이전에도 글을 올렸었다. 그런데 많이 부족한 내용이였고 버그도 많이 있었다. 이번에 기회가 있어서 새롭게 간단한 프로젝트를 만들었는데 저번보다 훨씬 괜찮게 만들었다고 생각해 ms3864.tistory.com 배경 우아한테크캠프에서 바닐라 자바스크립트로 프로젝트를 했었다. 그때 아쉬웠던 부분들을 생각하며 조금 더 보완해보려고 한다. 그리고 황준일님의 블로그를 참고했다. 개요 나는 리액트, 리덕스를 사용한 경험이 있다. 이를 바탕으로 생각해보자. 리액트부터 생각을 해보면 리액트는 컴포넌트를 기반으로 동작하며 jsx를 바벨을 통해..
자바스크립트의 특징을 설명하시오 자바스크립트는 인터프리터 언어, 동적 타입 언어, 프로토타입 기반 객체지향 언어이다. 인터프리터 언어는 컴파일러 언어와 비교된다. 인터프리터 언어는 컴파일러 언어에 비해 속도가 느리고 수정이 편하다. 자바스크립트는 두 장점을 결합해 속도가 빠르다. 동적 타입 언어와 정적 타입 언어와 비교된다. 정적 타입 언어는 변수를 선언할 때 데이터 타입을 사전에 정의한다. 하지만 동적 타입 언어는 변수를 선언할 때 데이터 타입을 사전에 정의하지 않는다. 동적 타입 언어는 편하다. 하지만 변수 값이 언제든지 변경될 수 있기 때문에 복잡한 프로그램에서는 변화하는 변수 값을 추적하기 어렵다. 그리고 변수는 값의 변경에 의해 타입도 언제든지 변경될 수 있다. 주의사항 => 변수는 필요한 경우..
조합먼저 코드를 이해하면 쉬움 순열 알고리즘 const getPermutations = function (arr, selectNumber) { const results = []; if (selectNumber === 1) return arr.map((i) => [i]); // 1개씩 선택한다면 모든 배열의 원소를 return한다. arr.forEach((fixed, index, array) => { const rest = [...array.slice(0, index), ...array.slice(index + 1)]; // fixed를 제외한 나머지 배열(순열) const permutations = getPermutations(rest, selectNumber - 1); // rest에 대한 순열을 구한..
전 function Animal(name, animalType) { this.name = name; this.animalType = animalType; } Animal.prototype.sayName = function () { console.log(this.name); } Animal.prototype.sayAnimalType = function () { console.log(this.animalType); } function Dog(name) { Animal.call(this, name, "Dog"); } // copy over the methods Dog.prototype = Object.create(Animal.prototype); var myAnimal = new Animal("ditto", ..
Array.from() 메서드는 유사 배열 객체(array-like object)나반복 가능한 객체(iterable object)를 얕게 복사해새로운Array 객체를 만듭니다. Array.from(array1); fill() 메서드는 배열의 시작 인덱스부터 끝 인덱스의 이전까지 정적인 값 하나로 채웁니다. const array1 = [1, 2, 3, 4]; // fill with 0 from position 2 until position 4 console.log(array1.fill(0, 2, 4)); // expected output: [1, 2, 0, 0] // fill with 5 from position 1 console.log(array1.fill(5, 1)); // expected output..