개발 공부/자바스크립트 29

[엘리의 드림코딩 JS] 8. 배열(Array)

https://youtu.be/yOdAVDuHUKQ 배열과 리스트의 차이? : 배열은 인덱스가 존재하고(즉, 저장할 공간의 크기가 미리 지정되어 있고) 맨 앞과 중간에 삽입/삭제 작업에 O(n) 시간이 걸리나, 탐색에는 O(1) 시간이 걸린다. 리스트는 인덱스가 없으며, 저장할 공간의 크기가 가변적이다. 맨 앞과 맨 뒤에 삽입/삭제하는 시간은 O(1)이나 중간에 삽입/삭제하거나 탐색하는 작업에 시간 복잡도가 O(n)이 소요된다(인덱스가 없으므로) 'use strict'; // Array // 1. Declaration const arr1 = new Array(); const arr2 = [1, 2]; // 2. Index position const fruits = ['🍧','🧀'] console.log(..

[엘리의 드림코딩 JS] 7. Object

https://youtu.be/1Lbr29tzAA8 참고하기 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object Object - JavaScript | MDN Object 클래스는 JavaScript의 데이터 유형 중 하나를 나타냅니다. 다양한 키 모음 및 더 복잡한 엔티티들을 저장하는 데 사용됩니다. 객체는 Object() 생성자 또는 객체 초기자 / 리터럴 구문를 통해 생 developer.mozilla.org // Objects // one of the JavaScript's data types. // a collection of related data and/or functionality // 1...

[엘리의 드림코딩 JS] 6. Class vs Object

https://youtu.be/_DLhUBWsRtw class 내에 속성(fields, property)만 있고 method 없는 경우는 데이터 class라 부른다. 1. class(틀, 자체에 데이터는 없다 => 메모리에 안올라간다.) - template - declare once - no data in 2. object(객체, 인스턴스. 실제 데이터 있음 => 메모리에 올라감) - instance of a class - created many times - data in https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference JavaScript reference - JavaScript | MDN The JavaScript reference..

[엘리의 드림코딩 JS] 5. 함수(Function)

https://youtu.be/e_lU39U-5bQ Function은 sub-program이라고도 불린다. 그만큼 function은 프로그램의 작동에 있어 중요하다! //Function // - fundamental building block in the program // - subprogram can be used multiple times // - performs a task or calculate a value // 1. Function declaration // function name(param1, param2) {body ... return; } // one function === one thing // naming: doSomething, command, verb // e.g. create..

[엘리의 드림코딩 JS] 3. 데이터 타입, 호이스팅

https://youtu.be/OCCpGh4ujb8 변수 선언 : let(mutable) vs const(immutable) // 2. Variable // let (added in ES6) rw(read/write 둘다 가능) let globalName = 'global name' { let name = 'ellie'; console.log(name); name = 'hello'; console.log(name); console.log(globalName); } console.log(name); console.log(globalName); // var (don't ever use it) // var hoisting (move declaration from bottom to top) // has no b..

[엘리의 드림코딩 JS] 2. script async, defer, use strict

https://youtu.be/tJieVCgGzhs script async와 defer Web API란? : JS가 제공하는 것이 아니라 브라우저가 제공하는 함수들.(더 많은 Web API들: https://console.spec.whatwg.org/) Console Standard Abstract This specification defines APIs for console debugging facilities. Table of Contents 1 Namespace console 1.1 Logging functions 1.1.1 assert(condition, ...data) 1.1.2 clear() 1.1.3 debug(...data) 1.1.4 error(...data) 1.1.5 info(...d..

[엘리의 드림코딩 JS] 1. JavaScript의 역사

https://youtu.be/wcsVjmHrUQg 엘리의 드림코딩 - JS의 역사 자바스크립트는 넷스케이프의 Navigator 브라우저에서 사용할 수 있도록 만들어진 스크립팅 언어인 Mocha(=>Live Script)가 그 기원이다. 넷스케이프 사는 당시 Java의 인기를 이용하기 위해 1994년 Live Script를 JavaScript라는 이름으로 바꾼 것이다. 1995년 마이크로소프트 사는 이 JavaScript를 revers Engineering하여 JScript라는 것을 만들게 된다. 이렇게 되니 개발자들은 Internet Explore와 Netscape의 브라우저, 둘 다에서 돌아가게 웹을 만들어야 해 매우 복잡했다. 결국 Netscape가 이런 상황을 방지하고자 ECMA internati..

You Don't Know JS - 자바스크립트가 이렇게 재미있다고?

우연히 도서관에서 발견한 보물같은 책이다! 보물같다고 하는 이유는, 이 책 덕에 '아, 자바스크립트는 정말 재밌다. 자바스크립트 공부 재밌다.'라는 감정을 처음으로 느꼈기 때문이다. 전에는 언어 문법 공부는 필요하니까 하는 것이고, 그냥 외우는 것으로 생각했다. 하지만 이 [You Don't Know JS] 를 읽으며 내가 외우기만 했던 문법의 동작 원리가 어떤 식으로 이뤄지는지도 알 수 있었고, 내가 잘못 알고 있던 부분을 파악할 수도 있었다. 이 책의 가장 큰 장점은 매끄럽고, 술술 잘 읽히는 서술 + 번역이다. 타 기술서적을 읽을 때와 달리 책을 읽으며 정말로 '술술 읽힌다'고 느껴졌다. 번역 해주신 분들이 정말 번역을 잘 해주셨다고 생각했다. (잘된 기술서 번역은 이렇게 초보 개발자를 구하기도 한..