자바스크립트(6)
-
node.js, nvm, npm이란 무엇인가
node.js, nvm, npm이란 무엇인가 contents node.js란 무엇인가 자바스크립트란? 자바스크립트 엔진? 자바스크립트 런타임? npm이란 무엇인가 nvm이란 무엇인가 웹을 공부하면서 node나 npm을 사용하면서도 정작 node.js는 무엇인지 nvm, npm이 무엇인지에 대해서는 깊게 생각하지 않았던 것 같다. 그래서, 한번 정리해보는 시간을 갖도록 해보기로 했다. 📍 1. node.js란 무엇인가? 위키백과 : Node.js는 확장성 있는 네트워크 애플리케이션 개발에 사용되는 소프트웨어 플랫폼이다. org : Node.js®는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다. ??? 이게 바로 무슨소리일까. V8이 무엇일까.. V8은 C ++로 작..
2020.01.24 -
자바스크립트의 다중프로세스 아키텍처, 렌더러, DOM, 컴포지터
DOM 웹페이지는 일종의 document이다. 이 문서가 웹브라우저를 통해 그 내용이 화면에 나타나거나, 그저 html 소스 자체로 나타나기도 한다. 이 웹브라우저와 관련된 집합을 브라우저 객체모델(BOM : Browser Object Model) 이라고 부른다. 이 BOM을 이용하여 브라우저와 관련된 기능으 ㄹ구성하는데, DOM은 BOM의 여러종류 중 하나다. BOM의 최상위 객체는 window라는 객체로, DOM은 window객체의 하위객체이기도 하다. 그렇다면 DOM은, Document Object Model으로, 문서 객체 모델이다.,같은 html 문서의 태그를 자바스크립트가 이용가능한 객체로 만들면!! 그것이 DOM이 되는 것이다! 풀어서 말해서 이렇지, 한마디로 웹 브라우저가 HTML코드를 인..
2019.11.22 -
javascript URL parser구현(tokenizer, laxer, parser)
URL 파서 Protocol ^(https?):\/\/ ^(문자열) : 문자열의 시작과 일치 할 때 ? : 바로앞에오는 문자가 존재할수도, 존재하지 않을 수도 있음. (https, http를 모두 가져오기 위함) \/ : \가 메타문자를 문자열에서 찾고싶을 때 사용! \/ == \ Domain ([^:\/\s]+) // 그냥 모든 문자열을 찾음 ., -을 비롯한 문자들로만 구성된다. ^ : 대괄호 안에 존재할때는 부정, 대괄호 밖에서는 문자의 시작을 표현. 여기서는 대괄호 안에 존재하므로 http(protocol) 다음을 보니까, port 번호가 나오기 전까지를 체크한다. + : 앞에 존재하는 문자가 1번 이상 반복될 때! \s : 공백문자 또는 영문 PORT (:([^\/]*))? pathFile ((..
2019.11.21 -
자바스크립트의 Prototype, 객체, this
자바스크립트의 Prototype Object란? 자바스크립트는 객체기반의 스크립트 언어이고, key :value로 구성된 property들의 집합이다. 그리고 객체는, 데이터를 의미하는 Property와 데이터를 참조하고 조작할수있는 동작을 의미하는 Method(Property값이 함수인 경우)로 구성된 집합이다. 자바스크립트 객체는 객체지향의 상속을 구현하기 위해 prototype이라고 불리는 객체의 프로퍼티, 메소드를 상속받을 수 있다. 객체 리터럴 let student = { name: 'pong', score: 100, sayHello: function () { console.log('hello' + this.name)} } student.sayHello(); 사실 자바스크립트 엔진은 객체 리터럴..
2019.11.20 -
javascript 의 화살표 함수와 단문, 중문
자바스크립트의 화살표 함수의 단문/중문 사용을 간단한 예시로 이해한다. 단문 = 내가 한줄 사용할건데! : 단문에서는 return 생략 가능하다 var filtered = [12, 5, 8, 130, 44].filter((value) => value>=10); console.log(filtered); // [12, 130, 44] 중문 = 내가 여러줄 사용할 거다! 라고 생각하면 편함 : 중문에서는 { }로 묶어야하고, return 써줘야한다 var filtered = [12, 5, 8, 130, 44].filter((value) => { return value>=10; }); console.log(filtered); // [12, 130, 44]
2019.11.08 -
리턴이 없는 함수가 존재하지 않는 자바스크립트, Undifined vs Null
리턴이 없는 함수가 존재하지 않는 자바스크립트, Undifined vs Null 자바스크립트 화살표함수를 잘못 사용해서 return도 없이 작성했다가, [ ] 이 결과로 나왔고 typeof(filtered2)가 Object 인것을 확인했다. var filtered2 = [12, 5, 8, 130, 44].filter((value) => { value >= 10; }); // 올바른 코드는 // var filtered2 = [12, 5, 8, 130, 44].filter( value => value>=10 ); console.log(filtered2); // [ ] 즉, C, java 는 void type이 존재하지만 자바스크립트는 return 이 없으면 컴파일러가 알아서 undefined를 리턴해준다. ..
2019.11.07