변수에 대해 먼저 알아보기 전 우리는 데이터가 컴퓨터에 어떻게 저장되는 지 이해해야될 필요가 있다. 컴퓨터는 CPU를 사용해 연산하고, 메모리릍 통해 데이터를 기억한다.메모리는 데이터를 저장할 수 있는 메모리 셀(memory cell)의 집합체이며 한 셀당 1 byte
C나 자바의 경우, 숫자를 정수와 실수로 구분하여 int, double, float 등 다양한 숫자 타입을 제공한다. 하지만 자바스크립트의 경우 하나의 숫자 타입만 존재한다. 다만 숫자 타입에서 세 가지 특별한 값도 표현이 가능하다.Infinity : 양의 무한대\-
연산자 (operator)는 하나 이상의 포현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 이용하여 하나의 값을 만든다. 피연산자 (operand)는 연산의 대상이며, 값으로 평가된다. 산술 연산자 (arithmetic operator) 은 피연산자
제어문 (control flow statement )은 조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용된다. 코드는 일반적으로 위에서 아래 방향으로 순차적으로 실행된다. 하지만 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있다. 블록문 ( blo
타입 변환은 자바스크립트 엔진에 의해 암묵적으로 변환되는 암묵적 타입 변환 (implicit coercion) 또는 타입 강제 변환 (type coercion)개발자의 의도에 따라 타입을 변환하는 명시적 타입 변환 (explicit coercion) 또는 타입 캐스팅
자바스크립트는 객체 ( object ) 기반의 프로그래밍 언어이며, 원시 값을 제외한 나머지 값은 모두 객체로 이루어져 있다. 원시 타입은 단 하나의 값만 나타내지만, 객체 타입은 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조이다. 즉, 원시 값은 변경 불
자바스크립트에서 제공하는 데이터 타입은 원시 타입 ( primitive type ) 과 객체 타입 ( object/reference type )으로 구분된다. 🔅 원시 값 원시 값에는 string, number, bigint, boolean, undefined,
🔅 함수란? 프로그래밍 언어의 함수는 일련의 과정을 문(statement)으로 구현하고, 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다. 함수는 입력을 받아 출력을 내보내는데, 함수 내부로 입력을 전달받는 변수를* 매개변수*(parameter), 입력
모든 식별자 ( 변수 이름, 함수 이름 등,,)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결저되며, 스코프는 식별자가 유효한 범위를 뜻한다. 위에 선언된 코드에서 변수 x에 'global'을 할당해주고, 함수 foo 에서 다시
전역 변수의 무분별한 사용은 위험하다. 🔅변수의 생명 주기 변수는 선언에 의해 생성되고, 할당을 통해 값을 갖으며 언젠가는 소멸한다. 이러한 과정을 변수의 생명 주기 ( life cycle )이라고 한다. > ❓ 지역 변수 foo 함수에서 선언한 x 라는 지역
ES5 까지 변수를 선언할 수 있는 유일한 방법은 var 키워드를 사용하는 것이었지만, 여러 문제점을 갖고 있었다. 🔅 var 키워드의 문제점 ❓ 변수 중복 선언 허용 var 키워드를 사용하여 변수를 선언하고, 같은 식별자의 이름으로 중복 선언을 하게 된다면
자바스크립트 엔진은 프로퍼티를 생성할 때 프로퍼티의 상태를 나타내는 어트리뷰트를 기본값으로 자동 정의한다 프로퍼티는 데이터 프로퍼티와 접근자 프로퍼티로 구분할 수 있다. 🔅데이터 프로퍼티 키와 값으로 구성된 일반적인 프로퍼티이다. 데이터 프로퍼티의 attrib
저번 포스트에서는 객체리터럴
🔅 일급 객체 일급 객체의 조건 무명의 리터럴로 생성할 수 있어야 한다. 즉, 런타임에 생성이 가능하다. 변수나 자료구조 ( 객체나 배열 등 ) 에 저장할 수 있다. 함수의 매개변수에 전달할 수 있다. 함수의 반환값으로 사용할 수 있다. 자바스크립트에서는 함수가
객체지향 프로그래밍은 객체의 집합으로 프로그램을 표현하려하는 프로그래밍 패러다임을 말한다.실세계의 실체는 각각 고유의 속성 ( attribute / property )를 가지고 있고, 이를 통해 우리는 실체들을 인식하거나 구별할 수 있다. 이런 철학적 사고를 프로그래밍
자바스크립트 객체는 크게 3개의 객체로 분류할 수 있다.표준 빌트인 객체 ( standard built-in objects / native objects / global objects )ECMAScript 사양에 정의된 객체를 말하며 자바스크립트 실행 환경과 관계없이
자바스크립트에서 객체는 상태를 나타내는 프로퍼티와 동작을 나타내는 메서드를 하나의 논리적인 단위로 묶은 복합적인 자료구조이다. 동작을 나타내는 메서드는 자신이 속한 객체의 상태를 참조하여 동적으로 변경할 수 있어야 한다. 즉, 자신이 속한 객체를 가리키는 식별자를 참조