JavaScript
-
타입 변환과 단축 평가JavaScript 2021. 7. 26. 21:52
# 타입 변환이란? 자바스크립트의 모든 값은 타입이 있다. 값의 타입은 개발자의 의도에 따라 다른 타입으로 변환할 수 있다. 개발자가 의도적으로 값의 타입을 변환하는 것을 명시적 타입 변환(explict coerction) 또는 타입 캐스팅(type casting)이라 한다. var x = 10; // 명시적 타입 변환 // 숫자를 문자열로 타입 캐스팅한다. var str = x.toString(); console.log(typeof str, str); // string 10 // x 변수의 값이 변경된 것은 아니다. console.log(typeof x, x); // number 10 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되기도 한다. ..
-
제어문JavaScript 2021. 7. 24. 22:56
제어문(control flow statement)은 조건에 따라 코드 블록을 실행(조건문)하거나 반복 실행(반복문)할 때 사용한다. 일반적으로 코드는 위에서 아래 방향으로 순차적으로 실행된다. 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다. 하지만 코드의 실행 순서가 변경된다는 것은 단순히 위에서 아래로 순차적으로 진행하는 직관적인 코드의 흐름을 혼란스럽게 만든다. 따라서 제어문은 코드의 흐름을 이해하기 어렵게 만들어 가독성을 해치는 단점이 있다. 가독성이 좋지 않은 코드는 오류를 발생시키는 원인이 된다. 따라서, forEach, map, filter, reduce 같은 고차 함수를 사용한 함수형 프로그래밍 기법에서는 제어문의 사용을 억제하여 복잡성을 해결하고자 노력한다. # 블록문 블..
-
연산자JavaScript 2021. 7. 23. 14:14
연산자(operator)는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산등을 수행해 하나의 값을 만든다. 이때 연산의 대상을 피연산자(operand)라 한다. 피연산자는 값으로 평가될 수 있는 표현식이어야 한다. 그리고 피연산자와 연산자의 조합으로 이뤄진 연산자 표현식도 값으로 평가될 수 있는 표현식이다. // 산술 연산자 5 * 4 // -> 20 // 문자열 연결 연산자 'My name is ' + 'Kim' // -> My name is Kim // 할당 연산자 color = 'sky-blue' // 비교 연산자 3 > 5 // -> false // 논리 연산자 true && false // -> false // 타입 연산자 typeof 'Hi' // -> String..
-
표현식과 문JavaScript 2021. 7. 20. 23:19
# 값 값(value)은 식(표현식 expression)이 평가되어 생성된 결과를 말한다. 평가란 식을 해석해서 값을 생성하거나 참조하는 것을 의미한다. // 10 + 20은 평가되어 숫자 값 30을 생성한다. 10 + 20; // 30 모든 값은 데이터 타입을 가지며, 메모리에 2진수, 즉 비트의 나열로 저장된다. 메모리에 저장된 값은 데이터 타입에 따라 다르게 해석될 수 있다. 예를 들어, 메모리에 저장된 값 0100 0001을 숫자로 해석하면 65지만 문자로 해석하면 'A'다. 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름이라고 했다. 따라서 변수에 할당되는 것은 값이다. 값은 다양한 방식으로 생성할 수 있는데, 가장 기본적인 방법은 리터..
-
변수JavaScript 2021. 7. 19. 13:08
#변수란 무엇이고 왜 필요한가? 애플리케이션은 데이터를 다룬다. 아무리 복잡한 애플리케이션이라 해도 데이터를 입력받아 처리하고 그 결과를 출력하는 것이 전부이다. 변수는 프로그래밍 언어에서 데이터를 관리하기 위한 핵심 기능이다. 예제 10 + 20 컴퓨터가 이 식을 어떻게 계산할지 생각해보자. 자바스크립트 엔진이 위 자바스크립트 코드를 계산(평가)하려면 먼저 10, 20, + 라는 기호(리터럴과 연산자)의 의미를 알고 있어야 하며, 10 + 20이라는 식(표현식)의 의미도 해석(파싱)할 수 있어야 한다. 자바스크립트 엔진이 10 + 20이라는 식의 의미를 해석하면 + 연산을 수행하기 위해 먼저 + 연산자의 좌변과 우변의 숫자 값, 즉 피연산자를 기억한다. 사람은 계산과 기억을 모두 두뇌가 하지만, 컴퓨터..
-
자바스크립트 개발 환경과 실행 방법JavaScript 2021. 7. 18. 16:39
#자바스크립트 실행 환경 1. 브라우저 모든 브라우저는 자바스크립트를 해석하고 실행할 수 있는 자바스크립트 엔진을 내장하고 있다. 브라우저 뿐만 아니라 Node.js도 자바스크립트 엔진을 포함하고 있다. 둘 다 ECMAScript를 실행가능하지만 Node.js에서 ECMAScript 이외에 추가로 제공하는 기능은 호환되지 않는다. 다양한 웹 브라우저가 존재하지만 구글 크롬이 점유율이 1위이다. 크롬 브라우저가 제공하는 개발자 도구는 웹 애플리케이션 개발에 필수적인 강력한 도구다. 개발자 도구는 브라우저에 기본 내장되어 있으므로 별도로 설치할 필요가 없다. 개발자 도구는 웹 개발에 유용한 다양한 기능을 제공한다. 자주 사용하는 개발자 도구이 기능정리 패널 설명 Elements 로딩된 웹페이지의 DOM과 C..
-
-
History.go()JavaScript 2021. 6. 25. 21:26
History.go() 메서드는 history 세션에서 특정한 페이지를 로딩한다. 인자로 전달하는 파라미터 값에 따라 history를 통해서 페이지를 앞 뒤로 이동할 수 있다. 이 메서드는 asynchronous(en-US)(비동기)로 동작한다. 페이지 앞, 뒤 이동이 언제 이루어지는지 알려면 popstate event에 대한 listenr를 등록한다. 구문 history.go([default]) 현재 페이지에서 상대적으로 이동하려고 하는 history의 위치 값. 음수 값은 뒤로 이동하고, 양수 값은 앞으로 이동한다. 예를 들어 history.go(2)는 현재 페이지에서 2 페이지 앞으로 이동하고, history.go(-2)는 현재 페이지에서 2 페이지 뒤로 이동한다. 만약 값을 전달하지 않거나, de..