Javascript/ECMAScript 2009 (ES5)
-
유용한 JS 문법(1) - 모던 자바스크립트 | 김민준Javascript/ECMAScript 2009 (ES5) 2020. 6. 24. 19:16
[출처 : https://learnjs.vlpt.us] Truthy and Falsy Falsy 한 값은 이 외에도 몇개 더 있습니다. console.log(!undefined) // true console.log(!null) // true console.log(!0) // true console.log(!"") // true console.log(!NaN) // true 여기서 NaN 이란 값은 조금 생소하지요, 이 값은 Not A Number 라는 의미를 가지고 있는데요, 보통 NaN 은 문자열을 숫자로 변환하는 자바스크립트 기본함수 parseInt 라는 함수를 사용하게 될 때 볼 수 있습니다. 그리고, 그 외의 값은 모두! Truthy 한 값입니다. console.log(!3); // false c..
-
JavaScript 입문(3) - 모던 자바스크립트 | 김민준Javascript/ECMAScript 2009 (ES5) 2020. 6. 23. 22:53
[출처 : https://learnjs.vlpt.us] 객체 생성자 프로토타입과 클래스에 대해서 알아보기 전에 우선 객체 생성자라는 것을 알아봅시다. 객체 생성자는 함수를 통해서 새로운 객체를 만들고 그 안에 넣고 싶은 값 혹은 함수들을 구현 할 수 있게 해줍니다. function Animal(type, name, sound) { this.type = type; this.name = name; this.sound = sound; this.say = function() { console.log(this.sound); }; } const dog = new Animal('개', '멍멍이', '멍멍'); const cat = new Animal('고양이', '야옹이', '야옹'); dog.say(); // 멍멍..
-
JavaScript 입문(2) - 모던 자바스크립트 | 김민준Javascript/ECMAScript 2009 (ES5) 2020. 6. 19. 20:27
[출처 : https://learnjs.vlpt.us] Array.forEach() 배열 안에 있는 모든 원소들을 모두 출력 const superheroes = ['아이언맨', '캡틴 아메리카', '토르', '닥터 스트레인지']; for (let i = 0; i { console.log(hero); // '아이언맨', '캡틴 아메리카', '토르', '닥터 스트레인지' }); forEach 함수의 파라미터로는, 각 원소에 대하여 처리하고 싶은 코드를 함수로 넣어줍니다. 이 함수의 파..
-
함수 - Javascript 핵심 개념 | 정재남Javascript/ECMAScript 2009 (ES5) 2020. 3. 17. 23:23
[출처 : https://www.inflearn.com] 1. 호이스팅 ※ Hoist : (사전적 의미) 끌어 올리다. ⇒ 변수 '선언'과 함수 '선언'을 끌어 올린다. # 호이스팅 (Hoisting) : 호이스팅은 선언과 밀접한 관계가 있다. 자바스크립트 엔진은 코드를 실행하기 전 단계로 코드 전반에 걸쳐서 선언된 내용이 있는 지 훑어 보고 발견하는 족족 위로 끌어 올린다. # 왼쪽에 작성한 코드는 변수와 함수의 선언이 위로 올라가면서 자바스크립트 엔진이 실제로 실행할 코드는 오른쪽이 된다. console.log(a()); function a() { console.log(b()); return "a"; console.log(c()); } function a() { var b; return "a"; va..
-
데이터 타입 - Javascript 핵심 개념 | 정재남Javascript/ECMAScript 2009 (ES5) 2020. 3. 13. 19:39
[출처 : https://www.inflearn.com] 강의 Intro [Section1] 데이터 타입 : 데이터가 메모리에 저장되는 방식을 확인함으로써 기본형과 참조형의 데이터가 발생하는 이유 [Section2] 함수 : 호이스팅, 선언방식별 차이점, 함수스코프와 실행컨텍스트의 정의 및 자바스크립트 엔진이 해석하는 순서, 메소드와 함수의 구별하는 법과 콜백함수의 정의 및 특징 [Section3] this : 상황별로 달라지는 this와 명시적인 this 바인딩 방법(call, apply, bind 메소드) [Section4] closure : 클로저의 의미, 클로저로 private 변수 생성 방법 [Section5] prototype : 다이얼그램을 활용해서 자바스크립트 전반을 아우르는 동작 원리 [..
-
언어의 원리를 이용한 자바스크립트(2) | 강희성님Javascript/ECMAScript 2009 (ES5) 2020. 3. 8. 10:19
2주차 스터디 기록 # 대입연산자, 변수, 리턴은 값을 복사한다 (객체가 복사되는 게 아님) - 값 : Heap 에서 저장된 주소 # 자바스크립트에서 실행 할 수 있는 건 오직 함수, 연산자 뿐이다. # , 연산자는 순서대로 실행해라 함수 # arguments : 매개변수를 지정하지 않을 경우 입력한 매개변수 값만큼 처리한다. # 이론과 구현을 혼동하지 마라 # 자바스크립트 함수의 시그니처는 이름이다. - 이름으로 함수를 구분한다. - 함수를 사용하려면 이름 (또는 연산자)이(가) 있어야 한다. ※ 함수의 기본 구조 - function a () { return }; * 함수를 정의하고 a를 쓰겠다고 선언함. - function () { return }; * 실행 안됨. 함수를 정의 했을 뿐 선언을 하지 ..
-
언어의 원리를 이용한 자바스크립트(1) | 강희성님Javascript/ECMAScript 2009 (ES5) 2020. 2. 29. 16:22
1주차 스터디 기록 # 이진수는 0.1 을 만들 수 없기 때문에 소수점을 표현할 경우 오차가 생길 가능성이 있다. # 2 를 나누면 끝 자리는 항상 5로 끝난다. → 0.1 + 0.2 != 0.3 / 0.1 + 0.2 = 0.30000000000000004 # 2의 52승을 넘어가면 정밀도가 떨어져서 작은 수를 탈락시킨다. # 데이터의 자료형을 항상 체크해라. (넘버형으로 받은 데이터는 넘버형 자료형으로 변환) Not a Number : 자료형을 나누려고 할때 Infinity : 숫자를 0으로 나누려고 할때 # 기본 자료형 : 메모리에서 어떤 위치에 가서 얼만큼 가져오라 (크기가 고정되고 그 크기를 담고 있으면 안된다) - 가져올 크기를 알려준다. (* 모든 변수는 자료형을 가지고 있고 변수의 역할은 메..
-
객체 복사하기(얕은·깊은) | ddalpangeJavascript/ECMAScript 2009 (ES5) 2020. 2. 26. 19:35
[출처 : ddalpange.log] 시작하기 전에 # 예제 A const a = 1; const b = a; b = 2; console.log(a, b); # 예제 B const a = { p : 1 }; const b = a; b.p = 2; console.log(a.p, b.p); 자바스크립트는 불변형의 데이터를 선언할 때 포인터와 값 모두 생성하지만, 오브젝트(배열)을 생성할 때에는 메모리 절약을 위해 포인터만 새로 할당할 뿐이다. 위 예제의 해석은 - 예제 A는 b에 a를 복사하였다. - 예제 B는 b에 a를 대입하였다. 단순히 대입연산자(=)를 통해 변수를 대입하는것과 얕은 복사는 엄연히 다르다. 예제 B에서 b에 a를 복사하는 방법에는 다음과 같다. 1. Object.assign()을 이용 ..