for/in 문 for / in 문은 일반적인 for 문과는 전혀 다른 형태의 반복문이다. for / in 문은 해당 객체의 모든 열거할 수 있는 프로퍼티(enumerable properties)를 순회할 수 있도록 해준다. 💡 열거할 수 있는 프로퍼티란 내부적으로 enumerable 플래그가 true로 설정된 프로퍼티를 의미한다. 이러한 프로퍼티들은 for/in 문으로 접근할 수 있게 된다. 이 반복문은 루프마다 객체의 열거할 수 있는 프로퍼티의 이름을 지정된 변수에 대입한다. 이렇게 대입받은 변수를 이용하면 루프 안에서 객체의 열거할 수 있는 프로퍼티에 순차적으로 접근할 수 있다. for / in 문의 문법은 다음과 같다. 문법 for (변수 in 객체) { 객체의 모든 열거할 수 있는 프로퍼티의 개..
문자열 결합 연산자 자바스크립트에서 덧셈(+) 연산자는 피연산자의 타입에 따라 두 가지 다른 연산을 수행한다. 피연산자가 둘 다 숫자이면, 산술 연산인 덧셈을 수행한다. 피연산자가 하나라도 문자열이면, 문자열 결합을 수행한다. 🔔 예제) var x = 3 + 4; // 피연산자가 둘다 숫자이면 덧셈 연산을 수행함. var y = "좋은" + "하루 되세요!" // 피연산자가 둘 다 문자열이면 문자열 결합 연산을 수행함. var z = 12 + "월"// 피연산자가 하나라도 문자열이면 문자열 결합 연산을 수행함. 💡 피연산자가 하나는 문자열이고 다른 하나는 문자열이 아닐 때, 자바스크립트는 문자열이 아닌 피연산자를 자동으로 문자열로 변환한 후 문자열 결합을 수행한다. 피연산자가 하나는 문자열이고 다른 하나..
변수의 선언과 초기화 변수(variable)란 데이터(data)를 저장할 수 있는 메모리 공간을 의미하며, 그 값이 변경될 수 있다. 자바스크립트에서는 var 키워드를 사용하여 변수를 선언한다. 자바스크립트에서는 선언되지 않은 변수를 사용하려고 하거나 접근하려고 하면 오류가 발생한다. 단, 선언되지 않은 변수를 초기화할 경우에는 자동으로 선언을 먼저 한 후 초기화를 진행한다. 🔔 예제) var month; // month 라는 이름의 변수 선언 date = 25; // date 라는 이름의 변수를 묵시적으로 선언 선언된 변수는 나중에 초기화할 수도 있고, 선언과 동시에 초기화할 수도 있다. 🔔 예제) var month; // 변수의 선언 var date = 25; // 변수의 선언과 동시에 초기화 mon..
타입 변환(type conversion) 자바스크립트는 타입 검사가 매우 유연한 언어이다. 자바스크립트의 변수는 타입이 정해져 있지 않으며, 같은 변수에 다른 타입의 값을 다시 대입할 수도 있다. 🔔 예제) var num = 20; // Number 타입의 20 num = "이십"; // String 타입의 "이십" var num; // 한 변수에 여러 번 대입할 수는 있지만, 변수의 재선언은 할 수 없다. 재선언문은 무시된다. 묵시적 타입 변환(implicit type conversion) 자바스크립트는 특정 타입의 값을 기대하는 곳에 다른 타입의 값이 오면, 자동으로 타입을 변환하여 사용한다. 즉, 문자열 값이 오길 기대하는 곳에 숫자가 오더라도 자바스크립트는 알아서 숫자를 문자열로 변환하여 사용한다..
기본 타입 📌 타입(data type) 이란 프로그램에서 다룰 수 있는 값의 종류를 의미한다. 자바스크립트에서는 여러 가지 형태의 타입을 미리 정의하여 제공하고 있으며, 이것을 기본 타입이라고 한다. 자바스크립트의 기본 타입은 크게 원시 타입과 객체 타입으로 구분할 수 있다. 원시 타입(primitive type)은 다음과 같다. 숫자(number) 문자열(string) 불리언(boolean) 심볼(symbol) : ECMAScript 6부터 제공됨 undefined 객체(object) 🔔 예제) var num = 10; // 숫자 var myName = "홍길동"; // 문자열 var str; // undefined 숫자(number) 📌 자바스크립트는 다른 언어와는 달리 정수와 실수를 따로 구분하지 ..
자바스크립트(JavaScript)란 ? 📌 자바스크립트(JavaScript)는 객체(object) 기반의 스크립트 언어이다. HTML로는 웹의 내용을 작성하고, CSS로는 웹을 디자인하며, 자바스크립트로는 웹의 동작을 구현할 수 있다. 자바스크립트는 주로 웹 브라우저에서 사용되나, Node.js와 같은 프레임워크를 사용하면 서버측 프로그래밍에서도 사용할 수 있다. 현재 컴퓨터나 스마트폰 등에 포함된 대부분의 웹 브라우저에는 자바스크립트 인터프리터가 내장되어 있다. 자바스크립트의 역사 📌 자바스크립트는 1995년에 넷스케이프(Netscape)의 브렌던 아이크(Brendan Eich)에 의해 만들어졌다. 처음에는 모카(Mocha)라는 이름으로 개발되었으나, 그 후에 라이브스크립트(LiveScript), 최종..
Server Sent Events Server Sent Events API server sent events API는 웹 페이지가 서버로부터 갱신된 정보를 자동으로 받을 수 있도록 설정한다. server sent events를 지원하는 주요 웹 브라우저의 버전은 다음과 같다. API server sent events 지원안함 6.0 6.0 5.0 11.5 Server Snet Events 지원 여부 확인 server sent events를 사용하기 전에, 우선 사용자의 웹 브라우저가 이를 지원하는지 안 하는지 확인해야 한다. 문법 if (typeof(EventSource) !== "undefined") { // server sent events를 위한 코드 부분 } else { // server sent..
Web Worker web worker API 웹 페이지에서 스크립트가 실행되면, 해당 웹 페이지는 실행 중인 스크립트가 종료될 때까지 응답 불가 상태가 된다.web worker는 스크립트가 웹 페이지의 성능에 영향을 미치지 않도록 백그라운드에서 동작하게 해주는 자바스크립트이다. 즉, web worker는 스크립트의 다중 스레드(multi-thread)를 지원한다.따라서 사용자가 웹 페이지를 이용하면서도, 동시에 시간이 오래 걸리는 자바스크립트 작업도 병행할 수 있도록 해준다. web worker를 지원하는 주요 웹 브라우저의 버전은 다음과 같다. API web worker 10.0 4.0 3.5 4.0 11.5 web worker 지원 여부 확인 web worker를 사용하기 전에, 우선 사용자의 웹 ..