본문 바로가기

분류 전체보기25

JavaScript : Syntactic sugar 1. 화살표 함수 (Arrow Functions)전통적인 함수 선언 방식보다 간결하게 함수를 작성할 수 있게 해준다.// 기존 함수 표현식function add(a, b) { return a + b;}// 화살표 함수const add = (a, b) => a + b; 2. 템플릿 리터럴 (Template Literals)택틱 ( `` )을 사용하여 문자열 내에 변수나 표현식을 쉽게 포함할 수 있다.const name = "Alice";console.log(`Hello, ${name}`); 3. 디스트럭처링 (Destructuring Assignment)배열이나 객체에서 필요한 값들을 간단하게 추출할 수 있다.// 객체 디스트럭처링const person = { name: "Bob", age: 30 };c.. 2025. 2. 21.
Syntactic sugar - 문법적 설탕 - 문법 설탕 문법적 설탕 또는 문법 설탕(syntactic sugar)은 프로그래밍 언어에서 본질적인 기능이나 계산 능력을 바꾸지 않으면서도 코드를 더 읽기 쉽고 쓰기 쉽게 만들어 주는 추가적인 문법 요소를 말한다. 주요 특징 편의성 증대:프로그래머가 코드를 작성할 때 보다 직관적으로 표현할 수 있도록 도와준다.  내부 변환:문법적 설탕으로 작성된코드는 컴파일러나 인터프리터에 의해 본질적으로 동일한 기본 구조로 변환된다. 즉, 설탕이 씌워진 구문은 결국 동일한 동작으로 하는 기본 문법으로 바뀐다.  왜 중요한가?가독성 향상:코드를 더 간결하고 이해하기 쉽게 만들어, 유지보수와 협업에 유리하다. 개발 생산성 증대:반복적이고 복잡한 구문을 단순화하여 코드를 빠르게 작성할 수 있게 도와준다. 언어 설계의 미학:언어 개발자.. 2025. 2. 21.
JavaScript : Prototype-based inheritance - 프로토타입 기반 상속 아... 이건 뭔가 벌집을 쑤신듯 한 기부니가 드는데... 흠 일단 제목을 잡았으니 시작해 볼까나... 자바스크립트는 전통적인 클래스 기반 상속 대신 프로토타입 기반 상속(prototype-based inheritance)을 사용한다. 이로 인해서 자바스크립트는 클래스가 없다라는 오해에 한동안 시달려왔다카더라...  "우~ 클래스 개념도 없는 자바스크립트가 뭔 프로그래밍 언어냐...""자바스크립트 개발자는 개발자도 아니다" 한 동안 서러웠다... 물론, 아주 오래전 이야기다... 1. 기본 개념1.1 Object와 Prototype내부 프로퍼티자바스크립트의 모든 객체는 보이지 않는 내부 프로퍼티인 Prototype을 가지고 있다. 이 프로퍼티는 다른 객체에 대한 참조로, 해당 객체의 프로토타입 역할을 한.. 2025. 2. 20.
JavaScript: First-Class Functions (일급 함수) 일급 함수(First-Class Functions)는 함수가 다른 일반 객체와 동일하게 취급된다는 개념을 말한다.즉, 함수가 다른 값들과 동일하게 변수에 할당되거나, 함수의 인자로 전달하거나, 함수의 반환값으로 사용할 수 있다는 의미이다. 일급 함수의 특징1. 변수에 할당 가능함수를 변수에 저장할 수 있다.const greet = function(name) { return `안녕하세요, ${name}님!`;}console.log(greet("철수")); // "안녕하세요, 철수님!" 2. 함수의 인자로 전달 가능함수를 다른 함수의 매개변수로 전달하여, 동적인 로직 처리가 가능하다.function processUserInput(callback) { const name = prompt("이름을 입력하세.. 2025. 2. 20.
Closure - 클로저 클로저(Closure)는 함수와 그 함수가 선언될 때의 렉시컬 환경을 함께 기억하는 기능을 말한다. 다시 말해, 자신이 생성될 당시의 변수 환경에 대한 접근 권한을 유지하는 함수를 의미한다. 주요 개념1. 렉시컬 스코프 (Lexical Scope) : 함수가 선언될 때, 주변의 변수들에 대한 참조를 함께 기억한다.함수가 실행될 때, 이 변수들에 접근할 수 있다.2. 함수와 환경의 결합  클로저는 단순히 함수를 반환하는 것이 아니라, 그 함수가 생성될 당시의 환경(변수들)을 함께 저장한다.이 때문에 외부 함수가 종료된 후에도 내부 함수가 외부 변수에 접근할 수 있다.3. 은닉화 및 상태 유지클로저를 사용하면 외부에서 직접 접근할 수 없는 개인 변수(private variable)를 만들 수 있다.클로저는 .. 2025. 2. 19.
Trying to restart "rust"! 많이 놀고 먹었다. 이제 다시 시작한다. 미루고 미루던 러스트를 2달 안으로 마스터(?) 해보려고 한다. 일단 4주간의 계획을 미리 짜둔다.1주차: Rust 환경 설정 및 기초 문법Day 1목표 : Rust 설치 및 개발 환경 구축내용 : rustup 설치Cargo, rustc 확인VSCode + rust-analyzer 설치 및 설정Day 2목표 : 첫 번째 Rust 프로그램 작성내용 :"Hello, World!" 프로그램 작성 및 실행기본 컴파일 및 실행 과정 이해Day 3목표 : 변수와 데이터 타입 이해내용 :변수 선언, 불변/가변 변수주요 데이터 타입(정수, 부동 소수점, Boolean, 문자) 실습Day 4목표 : 함수 및 기본 연산자 학습내용 :함수 정의, 매개변숴, 반환 값산술, 논리, 비교.. 2025. 2. 19.