Home
관성을 이기는 데이터
Cancel

JavaScript - '객체 참조', assign()

자바스크립트에서 객체는 복사되지 않고, 참조된다. 이러한 이유에서 예상하지 못했던 값의 변화로 에러를 경험하곤 한다. 사람은 현실에서든, 코드에서든 원본이 변하는 것을 좋아하지 않는다. 원본은 유일해야 하며 필요에 따라 수정할 경우 복사본을 이용하는 것이 좋다. 이런 점에서 객체를 참조하고, 원본을 수정할 수 있는 자바스크립트의 특성은취약점이다. ...

JavaScript - 콜백

What is “callback hell”? Asynchronous JavaScript, or JavaScript that uses callbacks, is hard to get right intuitively. A lot of code ends up looking like this: fs.readdir(source, function (err, f...

JavaScript - 함수 Parameter vs Argument

함수의 목적은 ’재사용’ 이다. 아주 간단한 sum() 함수를 살펴보자. function sum(x, y){ return x + y } console.log(sum(1,2)) //3 console.log(sum(2,4)) //6 console.log(sum(4,6)) //10 console.log(sum(10,20)) //...

JavaScript - 가변인자, 클래스, 배열 순회

자바스크립트의 높은 자유도는 협업을 하거나 에러를 수정할 때 불편함으로 다가온다. 따라서 고의적으로 명시적 코드를 작성해줄 필요가 있다. 처음 입문하더라도 명시적인 코드와 관련해 대표적인 3가지 유형을 알고 넘어가면 좋다. ‘가변 인자’, ‘클래스’ 그리고 ‘배열 순회’에 대해 알아보자. 1. 가변 인자 자바스크립트의 함수는 인자를 적게 받거나 다...

JavaScript - 객체 참조, concat()

생활코딩 이고잉님 강의(JavaScript Immutability) 수강 중 정리한 내용입니다. 배열 객체는 내장된 push 메소드를 통해 배열에 원소를 추가하고, 추가한 원소를 반환할 수 있다. 그런데 만약 여러 변수에 특정 배열을 똑같이 담고 그 특정 배열에 push를 통해 원소를 추가한다면 원소가 추가된 새로운 배열이 모든 변수에 ...

JavaScript - const(), freeze()

생활코딩 이고잉님 강의(JavaScript Immutability) 수강 중 정리한 내용입니다. 자바스크립트의 높은 자유도로 인해 의도적으로 수정을 제한하는 문법이 생겨났는데, const와 freeze다. const는 변하지 않는 값. 상수를 지정하는 키워드로 let과 반대되는 개념이다. (const와 let이 등장하지 않았던 시절의 var...

JavaScript - constructor, instance

Object는 Object instance를  생성하는 ‘생성자(constructor)’입니다. Function은 Function instance를 생성하는 ‘생성자(constructor)’입니다. 이 문장의 뜻을 살펴보자. 인스턴스(instance)는 ‘객체’로 봐도 무방하다. 생성자가 객체를 만들 때, 그 시점의 객체를 인스턴스라고 하기 ...

JavaScript - 객체와 Prototype

페이스북 ‘프론트엔드개발그룹’ 에서 피드백받은 내용을 추가하였습니다.(표시 /*) 자바스크립트는 프로토타입(Prototype) 기반 언어다. 자바, 파이썬처럼 객체지향이라는 점에서 맥락을 같이하지만 클래스 기반이 아닌 프로토타입 기반이기 때문에 ’상속’ 개념이 없다. /* 자바스크립트에도 상속이 있다고 합니다. class-based oo...

JavaScript - DOM(Document Object Model) 제어

DOM(Document Object Model) DOM은 브라우저가 제공하는 객체(BOM-Browser Object Model) 중 하나로 BOM의 가장 상위 객체인 Window의 하위 객체라고 볼 수 있다. 넓은 의미로 DOM은 웹브라우저가  HTML 문서를 인식하는 방식을 말하며 객체 참조를 통해 이루어진다. DOM이 제공하는 기능은 C(...

JavaScript - Scope와 Closer

ES5까지 자바스크립트에서 변수를 참조할 수 있는 유효 범위의 단위는 함수였다. 예를 들어 코드에 함수가 하나 존재한다면 함수 밖의 변수는 Global Scope, 함수 안의 변수는 Local Scope 내에서만 호출할 수 있다. 변수를 선언할 수 있는 유일한 방법은 var를 키워드를 사용하는 것인데, var는 변수의 중복과 키워드 생략을 허용한다는...

JavaScript - 객체와 동적 바인딩, 값의 이동

객체란   객체는 데이터를 표현하는 도구이면서 현실의 구체적 대상을 추상적으로 묘사하기 위해 사용된다. 코드는 언제나 현실의 추상화 작업을 거치게 되는데, 추상화란 보여주고자 하는 핵심적인 요소 이외의 것들은 모두 은폐하는 것을 말한다. 복잡한 현실세계를 모두 코드로 표현할 수 없을뿐더러 표현했다 하더라도 그것을 읽는 것은 불가능하다. 따라서 추상화...

JavaScript - 6 원칙

우아한형제들 김민태님의 ‘자바스크립트 부트캠프(패스트캠퍼스)’ 수강 중, 허가를 받고 정리한 내용입니다. 1. 코드 중간중간에 데이터를 넣지 마라.   코드는 읽는 시간이 작성하는 시간보다 훨씬 길다. 따라서 읽고 이해하기 쉽게 데이터는 데이터대로 따로 배치하는 것이 좋다. 그래서 간단한 수식 하나라도 변수를 통해, 네이밍을 해주는 것이 중...

Trending Tags