단축 속성명
·
JavaScript
단축 속성명단축 속성명(Shorthand Property Names)은 ECMAScript 2015 (ES6)에서 도입된 JavaScript 문법으로, 객체 리터럴(object literal)을 정의할 때 객체의 속성 이름(key)과 그 속성에 할당하려는 변수(또는 상수)의 이름이 동일한 경우 코드를 더 간결하게 작성할 수 있게 해주는 기능입니다.핵심 규칙:객체 리터럴 내에서 { 속성명: 변수명 }과 같이 작성해야 할 때, 만약 속성명과 변수명이 같다면, 간단히 { 변수명 } 이라고만 작성할 수 있습니다.// ES6 이전let x = 10;let y = 20;let point1 = { x: x, // 속성명 'x'와 변수명 'x'가 같음 y: y // 속성명 'y'와 변수명 'y'가 같음};cons..
객체 리터럴
·
JavaScript
JavaScript 객체 리터럴 (Object Literal)1. 정의객체 리터럴(Object Literal)은 JavaScript에서 중괄호({})를 사용하여 객체를 직접 생성하는 표기법입니다. 이는 new Object() 생성자를 사용하는 방식보다 간결하게 객체를 표현하고 초기화할 수 있는 방법입니다. 2. 기본 구조객체 리터럴은 0개 이상의 속성(property) 목록을 중괄호 내에 정의하며, 각 속성은 키(key) 와 값(value) 의 쌍으로 이루어지고 콜론(:)으로 구분됩니다. 속성들은 쉼표(,)로 분리됩니다. { key1: value1, key2: value2, // ... keyN: valueN}Key: 속성을 식별하는 이름으로, 일반적으로 문자열(String) 또는 심볼(Symbo..
const -> 주소 재할당 금지
·
JavaScript
참조 타입(Reference Types)과 const객체(Object) 및 배열은 참조 타입입니다. 참조 타입 변수는 데이터 값 자체가 아니라 해당 객체 또는 배열이 실제 저장된 메모리 위치를 가리키는 주소를 참조해 저장합니다.const로 참조 타입 변수를 선언할 경우, 변수에 저장된 메모리 주소 자체를 다른 주소로 재할당하는 것은 금지됩니다.const configuration = { version: 1, enabled: true };// configuration 변수가 다른 객체를 참조하도록 재할당 시도 -> 에러 발생configuration = { version: 2, enabled: false }; // TypeError: Assignment to constant variable.const data..
for .. of 반복문
·
JavaScript
for...of 반복문이란?목적: **반복 가능한 객체(iterable object)**의 **요소 값(value)**들을 하나씩 순서대로 접근하여 반복 작업을 수행하기 위한 구문입니다. 반복 가능한 객체(Iterables): for...of로 순회할 수 있는 대표적인 객체들은 다음과 같습니다.배열 (Array)문자열 (String) (각 문자를 순회)맵 (Map) (각 [key, value] 쌍을 순회)셋 (Set) (각 요소를 순회)arguments 객체 (함수 내에서 사용)NodeList (브라우저 DOM 관련)사용자가 직접 정의한 반복 가능한 객체핵심 특징: 인덱스(i)나 키(key)를 직접 관리할 필요 없이, 컬렉션 안의 실제 데이터 값에 바로 접근할 수 있다는 점이 매우 편리합니다. 기본 문법..
배열의 범위 기반 for문, forEach()
·
JavaScript
forEach() 메서드기능: 배열의 각 요소에 대해 주어진 콜백 함수(callback function)를 순서대로 한 번씩 실행하는 반복 메서드입니다.목적: 배열의 모든 요소를 가지고 **어떤 작업(주로 부수 효과(Side Effect)가 있는 작업)**을 수행하고 싶을 때 사용합니다. 예를 들어, 각 요소를 콘솔에 출력하거나, 각 요소를 사용하여 외부 변수의 값을 업데이트하는 등의 작업을 할 수 있습니다.반환값: forEach() 메서드 자체는 항상 undefined를 반환합니다. map() 메서드처럼 새로운 배열을 생성하여 반환하지 않습니다.원본 배열 변경: forEach() 메서드 자체는 원본 배열을 직접 변경하지 않습니다. 하지만 콜백 함수 내부에서 원본 배열의 요소를 변경하는 코드를 작성하는 ..
map을 이용한 배열의 각 요소 접근
·
JavaScript
서론JavaScript의 Array.prototype.map() 메서드는 배열의 각 요소를 주어진 함수에 전달하고, 그 함수의 반환값으로 구성된 새로운 배열을 생성하는 고차 함수입니다. 이는 원본 배열을 변경하지 않고 배열 데이터를 변환하는 데 필수적인 기능입니다. 본 문서는 map() 메서드의 구문, 콜백 함수의 인수, 화살표 함수와의 관계, 중첩 사용 및 주의사항을 기술합니다. 1. map() 기본 사용법map() 메서드는 배열의 각 요소에 대해 콜백 함수를 한 번씩 실행하고, 각 함수의 반환값을 모아 새로운 배열을 생성합니다.기본 구문:let newArray = originalArray.map(callbackFunction);주요 특징:- 항상 새로운 배열을 반환합니다.- 호출된 원본 배열 ..
자바 스크립트의 String
·
JavaScript
1. 문자열이란? 정의 및 특징:문자열(String)은 문자들의 순서 있는 모음으로 이루어진 자료형입니다.작은따옴표(' '), 큰따옴표(" "), 또는 백틱(`)으로 감싸서 표현할 수 있습니다.백틱(`)을 사용한 방식을 템플릿 리터럴(Template Literal)이라고 하며, 여러 줄 문자열 작성 및 문자열 내 변수/표현식 삽입(${...})이 용이합니다.let name = "개발자"; let message = 안녕하세요, ${name}님! 오늘도 즐거운 코딩하세요!; console.log(message);가장 중요한 특징: 불변성(Immutability) immutable JavaScript 문자열은 불변(immutable)합니다. 즉, 한 번 만들어진 문자열은 그 내용을 직접 수정할 수 없습니다. ..
readFileSync 를 이용한 입력
·
JavaScript
파일시스템을 이용한 입력 받기 const fs = require("fs");let n = Number(fs.readFileSync(0).toString().trim()); require("fs") :FileSystem 의 약자.파일 시스템 모듈 안에는 컴퓨터의 파일 시스템과 상호작용할 수 있는 다양한 기능(함수)들이 들어있습니다. 파일 읽기 (readFile, readFileSync 등)파일 쓰기 (writeFile, writeFileSync 등) require('모듈_이름')JavaScript 파일(모듈)이나 내장 모듈, 설치된 패키지의 기능을 불러옵니다.cpp의 #include, java의 import로 이해하면 될 듯 하다.let n = Number(fs.readFileSync(0).toString..
console.log의 인자
·
JavaScript
console.log() 함수는 여러 개의 인수를 받으면, 각 인수를 출력할 때 기본적으로 공백(space)으로 구분하여 한 줄에 표시합니다.해당 코드 분석:JavaScript console.log("당신의 나이는", age, "살입니다.");여기서 console.log 함수에는 다음 세 개의 인수가 전달되었습니다:문자열 "당신의 나이는"변수 age (값이 25라고 가정)문자열 "살입니다."console.log는 이 인수들을 순서대로 출력하면서 각 인수 사이에 공백을 자동으로 추가합니다."당신의 나이는" 출력 -> 당신의 나이는(자동 공백 추가) ->age의 값 25 출력 -> 25(자동 공백 추가) ->"살입니다." 출력 -> 살입니다.이것들을 합치면 최종적으로 당신의 나이는 25 살입니다. 와 같이 ..
동등 연산자, 일치 연산자
·
JavaScript
== (동등 연산자)와 === (일치 연산자)는 JavaScript에서 두 값을 비교할 때 사용되지만, 타입(Type)을 고려하는 방식에서 중요한 차이가 있습니다.1. == (Loose Equality / 동등 연산자)동작 방식: 두 피연산자의 값을 비교하기 전에, 만약 **타입이 다르면 JavaScript가 암묵적으로 타입을 변환 (Type Coercion, 타입 강제 변환)**하려고 시도합니다. 타입 변환 후 값이 같으면 true를 반환합니다.특징: 타입이 다른 값들도 같다고 평가될 수 있습니다.예시:JavaScript console.log(5 == '5'); // true (문자열 '5'를 숫자 5로 변환 후 비교)console.log(1 == true); // true (불리언..