자바스크립트의 제어문
·
기술/JavaScript
제어문제어문은 프로그램 흐름을 바꾸거나, 조건에 따라 특정 코드를 반복하거나 건너뛰게 하는 문법입니다. 1. 블록문 {} 중괄호로 묶은 것{ // 여러 줄의 코드를 묶을 때 사용 // 변수의 스코프(유효 범위)를 구분할 때도 사용됨} 2. 조건문조건에 따라 코드 실행합니다.if, else if, else참 또는 거짓 조건을 걸때 주로 사용합니다.if (조건) { // 조건이 true일 때 실행} else if (다른 조건) { // 위 조건이 false이고, 이 조건이 true일 때 실행} else { // 모든 조건이 false일 때 실행}//중괄호 {}는 문장이 1개일 때 생략 가능if (num > 0) kind = "양수"; // 중괄호 생략 가능else kind = "음수 또는 0";sw..
자바스크립트 연산자(Operators)
·
기술/JavaScript
자바스크립트 연산자(Operators)란?연산자는 변수나 값에 대해 계산, 비교, 논리적 판단, 대입 등을 할 때 사용하는 기호입니다.ex) +, -, *, >, ===, && 등 주요 연산자 종류1. 산술 연산자 (Arithmetic)숫자를 계산할 때 사용합니다.기호설명예시+더하기2 + 3 → 5-빼기5 - 2 → 3*곱하기3 * 2 → 6/나누기10 / 2 → 5%나머지7 % 2 → 1**거듭제곱2 ** 3 → 8이항 산술 연산자두 개의 값(피연산자)을 계산해서 새로운 값을 만들어내는 연산자원래 값은 바뀌지 않고, 새로운 값이 만들어집니다. +,-,*,/, …단항 산술 연산자하나의 값만 계산하는 연산자입니다. ++ -- + - 2. 문자열 연결 연산자+ 연산자는 숫자끼리 더할 수도 있고, 문자열과 만..
자바스크립트의 '동적 타이핑'과 '형 변환'에 대하여
·
기술/JavaScript
자바스크립트는 동적 타이핑 언어입니다.✅ 변수를 선언할 때 타입을 정하지 않아도 되고,✅ 값을 넣는 순간 타입이 자동으로 정해집니다.✅ 나중에 다른 타입의 값으로 바꾸는 것도 가능합니다. 정적 타이핑 언어는 선언한 타입에 맞는 값만 할당할 수 있습니다.//정적 타이핑 언어char c; //선언한 타입에 맞는 값만 할당int num; //변수 선언 시점에 변수 타입이 결정되고 변경할 수 없음num = "hello"; // ❌ 오류 발생 (타입 불일치) 반면에, 동적 타이핑 언어는 타입 변경이 가능합니다.//동적 타이핑 언어let value = 10; // 숫자로 시작value = "hello"; // 나중엔 문자열로 변경!value = true; // 불린 값으로도 변경 가능..
자바스크립트의 데이터 타입
·
기술/JavaScript
자바스크립트에서 다루는 모든 값에는 자료형(타입)이 있습니다.자료형은 값의 종류와 특징을 정의하고, 컴퓨터가 그 값을 어떻게 처리할지 결정하는 데 사용됩니다. Q. 데이터 타입이 왜 중요할까?값을 저장할 때 확보해야 하는 메모리 공간의 크기를 결정하기 위해값을 참조할 때 한 번에 읽어야 할 메모리 크기를 정하기 위해메모리에 저장된 2진수를 어떤 데이터로 해석할지 결정하기 위해→ 예: 01000001을 문자로 보면 'A', 숫자로 보면 65 1. 원시 타입(Primitive Type)값 자체가 하나로 구성되어 있고, 변하지 않는(immutable) 데이터입니다.원시 타입은 값 자체를 저장하며, 복사 시 값이 복사됩니다.타입설명 number 정수, 소수, NaN, Infinity 등 모든 숫자 string ..
변수 선언 방식과 var, let, const 의 차이를 알아보자
·
기술/JavaScript
변수 선언자바스크립트에서는 var, let, const 로 변수를 선언할 수 있습니다.var score;score = 80;자바스크립트는 변수 선언을 두 단계로 처리합니다:선언 단계: 변수 이름을 등록하고, 메모리에 공간을 준비합니다.초기화 단계: 값을 넣기 전에 임시로 undefined를 자동으로 넣어둡니다.❗ 초기화를 해두는 이유는, 전에 쓰던 쓰레기 값이 남아있지 않게 하기 위해서 입니다. var / let / const 비교 표항목varletconst스코프함수 스코프블록 스코프블록 스코프재선언 가능 여부가능불가능 (같은 스코프 내에서)불가능 (같은 스코프 내에서)재할당 가능 여부가능가능불가능호이스팅 여부O (초기화 없이 undefined로 됨)O (하지만 TDZ로 인해 오류 발생)O (하지만 TD..
변수란 무엇인가?
·
기술/JavaScript
변수는 데이터를 저장해두기 위한 '이름 붙은 상자' 라고 생각하면 됩니다.컴퓨터는 메모리라는 공간에 데이터를 저장합니다.이 메모리는 아주 작은 칸들(메모리 셀)로 나뉘어 있고, 각각은 주소를 가지고 있습니다.그런데 그 주소는 01010010 같은 복잡한 숫자라 외우기 어렵죠.그래서 우리는 그 주소에 '변수 이름'이라는 라벨을 붙여서 사용합니다.예를 들어 score라는 변수를 만들면, 그 이름을 통해 해당 공간에 접근할 수 있게 됩니다. 📌 왜 변수 이름이 필요할까?메모리 주소는 실행할 때마다 바뀌기도 하고, 직접 쓰기엔 실수가 생기기 쉬워요.그래서 변수 이름을 통해 간접적으로 안전하게 값에 접근할 수 있습니다.변수에 대한 용어 정리var score;score = 80;">용어의미">변수 선언"이 이름의..
자바스크립트란?
·
기술/JavaScript
자바스크립트가 어떤 특징을 가진 언어인지 간단히 알아봅시다!1. 웹브라우저에서 동작하는 프로그래밍언어자바스크립트는 대부분의 웹 브라우저(Chrome, Firefox, Safari 등)에 기본 탑재되어 있으며,HTML과 CSS와 함께 웹을 구성하는 3대 요소 중 하나입니다.브라우저 내에서 즉시 실행 가능하고, 별도의 설치 없이 동작합니다.버튼 클릭, 입력 처리, 애니메이션 등 동적인 UI를 구현할 수 있습니다.예: 사용자가 버튼을 클릭하면 팝업을 띄우는 로직 2. 인터프리터 언어 (개발자가 별도의 컴파일 작업을 수행하지 않음)자바스크립트는 컴파일 단계 없이 코드가 한 줄씩 해석되고 즉시 실행되는 언어입니다.개발자가 작성한 코드를 별도의 번역 과정 없이 바로 실행코드 변경 후 브라우저를 새로고침하면 즉시 반..
값을 찾아낼 때는 해시테이블
·
기술/JavaScript
어떤 특정 값을 찾아야 한다면 해시테이블 구조를 고려해보자.배열은 순서가 중요한 경우에 유용할 수 있으나, 해시 테이블은 키-값 쌍을 다룰 때 더 빠르게 검색할 수 있는 장점이 있다.// 배열을 이용한 방식let countriesArray = ["a", "b", "c", "d"]; // 하나씩 배열을 돌면서 찾음배열을 사용한 방식은 각 요소를 찾을 때 O(N)의 시간 복잡도가 소요된다.배열이 매우 크거나 효율적인 검색이 필요한 경우에는 비효율적일 수 있다. // 해시 테이블을 이용한 방식let countriesHash = { a: true, b: true, c: true, d: true,}; countriesHash["a"]; // true // 단번에 찾을 수 있음해시 테이블을 사..