Javascript(175)
-
[Javascript] 객체의 종류
자바스크립트의 객체는 아래의 그림과 같이 크게 3가지로 분류할 수 있다. 네이티브 객체(Native Object) 네이티브 객체는 ECMAScript 명세에 정의된 객체를 의미하는데 애플리케이션 전역의 공통 기능을 제공하는 역할을 한다. 이러한 네이티브 객체는 애플리케이션의 환경에 관계 없이 언제나 사용할 수 있다. 네이티브 객체는 Object, String, Number, Function, Array, RegExp, Date, Math와 같은 객체 생성에 활용되는 함수 객체와 메서드로 구성된다. 네이티브 객체를 Global Objects라고 부르기도 하는데 이는 전역 객체(Global Object)와는 다른 의미로 사용되므로 혼동하지 않도록 유의해야 한다. cf) 전역 객체(Global Object..
2025.06.09 -
[Javascript] 객체와 참조 값
객체와 원시 타입의 근본적인 차이 중 하나는 원시 값의 경우 값 그대로 복사되는(pass-by-value) 반면, 객체는 참조에 의해 저장되고 복사된다는 것이다(pass-by-reference).let message = "Hello!";let phrase = message; 따라서 위 예시를 실행하면 아래의 그림과 같이 두 개의 독립된 변수에 각각 문자열 'Hello!'가 저장된다. 반면 객체의 동작 방식은 이와 다르다. 변수에는 객체가 그대로 저장되는 것이 아니라 객체가 저장되어 있는 메모리 주소인 객체에 대한 참조 값이 저장된다.let user = { name: "John"}; 객체는 메모리 내 어딘가에 저장되고 변수 user에는 객체를 참조할 수 있는 값이 저장되는 것이다. 따라서 객체가 할당..
2025.06.05 -
[Javascript] 객체(Object)
자바스크립트는 객체(Object) 기반의 스크립트 언어로 자바스크립트를 이루고 있는 거의 모든 것이 객체이다. 자바스크립트에는 총 여덟 가지 자료형이 있다. 이들 중 일곱 개(Number, BigInt, String, Boolean, undefined, null, Symbol)는 하나의 데이터(문자열, 숫자 등)만 담을 수 있어 원시형(primitive type)이라 부른다. 반면 원시형을 제외한 나머지 값들(함수, 배열, 정규표현식 등)은 모두 객체이다. 자바스크립트의 객체는 key와 value로 구성된 property의 집합이다. 프로퍼티의 key로는 문자열과 symobl이 쓰일 수 있는 반면, value로는 자바스크립트에서 사용할 수 있는 모든 값이 활용될 수 있다. 함수 또한 자바스크립트에서는 일..
2025.06.04 -
[Javascript] let, const 그리고 var
변수의 생성 과정은 아래의 3단계를 거친다. 선언 단계초기화 단계할당 단계 그리고 var, let, const는 각각 아래의 과정을 통해 생성된다. var의 생성 과정선언 및 초기화 단계할당 단계 let의 생성 과정선언 단계초기화 단계할당 단계 const의 생성 과정선언 + 초기화 + 할당 let, const, var의 차이점 5가지 중복 선언 가능 여부재할당 가능 여부변수 스코프의 유효 범위변수 호이스팅 방식전역 객체 프로퍼티 여부 1. 중복 선언 가능 여부 먼저 var의 경우 중복해서 선언 및 초기화가 가능하며 중복 선언이 되는 경우 마지막에 할당된 값이 변수에 저장된다. 따라서 개발자의 입장에서는 기존에 선언해 둔 변수의 존재를 잊고 값을 재할당하는 실수를 일으키기 쉽다. let과 const..
2025.06.02 -
[Javascipt] ECMAScript 2015(ES6) 그 이후 - (3) 클래스, 프로미스, 정규식
자바스크립트의 혁명이라 할 수 있는 ECMAScript 2015(ES6) 이후 추가된 자바스크립트 최신 문법 중 자주 이용할 만한 기능들을 추려 정리해 보려 한다. 들어가기에 앞서 😡은 과거의 문법을, 😊은 최신 문법을 의미한다는 점을 참고해 봐주시길 바란다. 클래스 최신 문법 Class Field Declarations처음에는 클래스 인스턴스를 정의하기 위해서는 자바 같이 그냥 변수 선언으로 하면 에러가 나고 무조건 생성자(constructor) 내에서만 this를 통해 클래스 필드를 선언해야 했지만 이제는 바로 선언이 가능해졌다.class Hello { fields = 0; title;} Static 키워드static 키워드를 사용하여 정적 클래스 필드와 개인 정적 메서드를 제공.cl..
2025.05.29 -
[Javascipt] ECMAScript 2015(ES6) 그 이후 - (2) 문자열, 배열, 객체
자바스크립트의 혁명이라 할 수 있는 ECMAScript 2015(ES6) 이후 추가된 자바스크립트 최신 문법 중 자주 이용할 만한 기능들을 추려 정리해 보려 한다. 들어가기에 앞서 😡은 과거의 문법을, 😊은 최신 문법을 의미한다는 점을 참고해 봐주시길 바란다. 문자열 최신 문법 String.prototype.replaceAll()일치하는 모든 문자열을 replaceString.prototype.replace()는 처음 일치하는 문자열만 바꾸는 것이므로 과거에는 추가적으로 정규 표현식을 사용해 왔지만 이제는 그럴 필요가 없어짐.// 😡console.log("문자열에서 여러번 나오는 문자열을 한꺼번에 변경할 수 있습니다.".replace(/문자열/g,""));// 에서 여러번 나오는 을 한꺼번에 변..
2025.05.28