파싱이란? 파싱의 뜻은 무엇일까? (번역)
·
개발/HTML
파싱(parsing: 구문 분석)은 하나의 프로그램을 런타임 환경(예를 들면, 브라우저 내 자바스크립트 엔진)이 실제로 실행할 수 있는 내부 포맷으로 분석하고 변환하는 것을 의미합니다. 즉, 파싱은 문서의 내용을 토큰(token)으로 분석하고, 문법적 의미와 구조를 반영한 파스 트리(parse tree)를 생성하는 과정입니다. 브라우저는 HTML을 DOM 트리로 파싱합니다. HTML 파싱에는 토큰화와 트리 구조가 포함됩니다. HTML 토큰에는 시작 태그와 마침 태그가 포함되며, 속성 이름과 값도 포함됩니다. 형식을 잘 갖춘 문서라면 파싱은 직관적이고 빠르게 진행될 것입니다. 파서(parser)는 토큰화된 입력값을 문서에 파싱하며, 다큐먼트 트리를 구성합니다. HTML 파서가 이미지와 같은 비블로킹 자료(..
자바스크립트 공부 독학 사이트 추천
·
개발/JavaScript
자바스크립트를 공부할만한 독학 사이트를 정리해서 올려본다. 올리다보니 독학의 개념이 무엇인가 혼란스러워지기도 하지만, 어쨌거나 자바스크립트 공부에 좋은 사이트와 자료를 발견하는 대로 계속해서 업데이트해 보려한다. 자바스크립트 학습 플랫폼 1. Exlskills 순차적인 흐름을 따라 자바스크립트를 공부할 수 있다. 중간 중간에 짤막한 확인 문제가 나와 해당 내용을 잘 이해했는지 확인할 수 있다. 설명이 간결하고 쉬우며, 인터페이스가 깔끔하다. 문제는 가끔가다 문제풀이시 오류가 난다. 자바스크립트가 완전 처음이라면 살펴볼만 하다. JavaScript Fundamentals Course - EXLskills Learn all the core concepts of programming in JavaScript ..
자바스크립트 객체의 인스턴스란? (번역)
·
개발/JavaScript
자바스크립트 객체 인스턴스에 대해 알아보기 전에 기술적 측면을 먼저 살펴보자. 객체란 우리의 실제 생활에 있는 대상을 프로그래밍적으로 구현한 것이다. (이 글은 를 번역한 것입니다.) 코드는 컴퓨터에게 특정한 대상[객체]을 설명하는 역할을 한다. 코드는 대상의 속성은 무엇이며, 이러한 대상이 무엇을 할 수 있는지[메소드]를 설명한다. 다음은 사람이라는 대상을 객체로 표현한 것이다. function Person(name, age, gender, greeting) { this.name = name; this.age = age; this.gender = gender; this.greeting = function() { alert('Hi! I\'m.' + this.name + '.'); }; } 이제 해당 객체..
자바스크립트 배열 속성 및 메소드 정리
·
개발/JavaScript
배열(Array)은 객체(Object)와 다르게 순서가 존재하며, 서로 다른 데이터 유형이 자유롭게 담길 수 있다. 즉, 배열에는 원시 데이터 유형과 객체 데이터 유형이 모두 담길 수 있다(배열 안에 객체가 담긴다든지, 배열 안에 또 다른 배열이나 함수 등이 모두 담길 수 있음). 다음은 w3schools에서 제공하는 자바스크립트 배열 속성과 메소드 테이블을 번역한 것이다. 자바스크립트 배열 속성 속성(Property) 설명 constructor 배열 객체의 프로토타입 함수 리턴 length 배열의 길이를 지정하거나 배열의 길이를 리턴 prototype 배열 객체에 속성 또는 메소드를 추가 자바스크립트 배열 메소드 메소드(Method) 설명 concat() 두 개 혹은 그 이상의 배열을 결합하고 결합된 ..
자바스크립트 화살표 함수 사용 방법 정리
·
개발/JavaScript
자바스크립트의 화살표 함수는 ES6에서 도입되었으며, function 키워드 대신 =>(arrow notation 또는 fat arrow라 함)를 사용한다. 다음 예시에서 보듯, 화살표 함수 생성은 아규먼트[파라미터] 다음에 =>를 사용하고 함수의 바디를 적는다. 함수가 하나의 아규먼트를 취할 경우 괄호를 생략할 수 있으며, 함수 바디가 하나의 구문만을 포함하는 경우 중괄호와 return구문을 생략할 수 있다. 또한 화살표 함수는 언제나 익명이며, 따라서 이를 변수에 할당할 수는 있으나, function 키워드처럼 이름을 만들 수는 없다. 다음은 에서 가져온 화살표 함수 예시다. const f1 = function() { return "hello!"; } // 또는 const f1 = () => "hel..
자바스크립트 표현식과 연산자 개념
·
개발/JavaScript
자바스크립트에는 표현식(expression)과 표현식이 아닌 것(non-expression)이 존재한다. 이 둘을 구분하는 것이 중요한데, 표현식은 값을 산출하기 때문에 이를 변수, 상수, 속성에 담아 다른 표현식과 연결할 수 있는 반면, 표현식이 아닌 경우에는 동일한 방식으로 연견할 수 없기 때문이다. 자바스크립트 표현식 자바스크립트에서 표현식은 하나의 값을 산출해 내는 것이다. let x; x = 3 * 5; // 간단한 표현식의 예 자바스크립트 연산자 다음으로 연산자에 대해 살펴보자. 연산자는 +, -, /, *, % 등처럼 특정한 연산을 수행해 값을 도출해 내도록 하는 것이다. 이러한 연산자의 연산 순서는 보통의 사칙 연산과 같지만, 자바스크립트에는 사칙 연산 이외에도 많은 연산자가 존재한다. 실..
[JavaScript] ⑤ 자바스크립트 함수란?
·
개발/JavaScript
자바스크립트에서 함수란 무엇일까? 함수란 입력을 받고 입력(input)을 받아 출력(output)을 내보내는 일종의 작은 프로그램을 의미한다. 예시를 살펴보자. 함수란 우리가 고등학교 수학 교과서에서 본 것처럼 f(x) = x + 1과 같은 구조를 취한다. 이는 함수(f) 안에 x값을 넣으면 x+1 값이 출력되는 일종의 연산을 의미한다. function f(x) { return x = x + 1; } f(2); // 3 위 예에서 볼 수 있듯 함수는 코드 블록 내의 문으로 구성된다. f()라는 함수는 아규먼트 x를 입력값으로 받는다. 입력값이 전달되면 여기에 1을 더해 이를 반환하게 된다. 따라서 f(2)를 실행시킬 경우 3이라는 값을 얻게 된다. 자바스크립트에서 함수 선언하는 방법 자바스크립트에서 함수..
[JavaScript] ③ 자바스크립트 데이터 타입
·
개발/JavaScript
자바스크립트의 모든 값은 데이터 타입을 갖는다. 데이터 타입을 구분하는 것은 중요한데 이를 통해 메모리 크기 공간이 다르게 할당되기 때문이다. 데이터 유형은 크게 원시 타입(Primiive Type)과 객체 타입(Object Type)으로 구분된다. 이러한 데이터 유형은 값 앞에 typeof 연산자를 사용하여 직접 확인해볼 수 있다. 원시 데이터 유형 Number: 일반적인 숫자(+Infinity, -Infinity, NaN(Not a Number)가 포함됨) String: 문자 데이터로 따옴표 "" 또는 홑따옴표 ''로 감싸 표시 Boolean: true 또는 false Null: null은 null 값을 가짐 Undefined: 값이 할당되지 않은 변수는 undefined를 값으로 가짐 Symbol:..