Language/JavaScript28 원시 값과 객체의 비교 변수에 할당 시 저장되는 값변수는 메모리 공간의 식별자입니다. 변수에 값을 할당할 때, 값이 원시 값이라면 메모리에 실제 값이 저장되고, 객체라면 참조 값(메모리 주소)이 저장됩니다.변수를 다른 변수에 할당하는 경우원시 값은 새로운 메모리 공간에 복사된 값이 저장되기 때문에 각 변수가 다른 메모리 공간을 가리킵니다. 반면, 객체는 메모리 주소를 나타내는 참조 값을 복사하기 때문에 각 변수는 같은 객체를 참조하게 됩니다. 이 때문에 한 변수에서 참조하는 객체를 변경하면 다른 변수에서도 변경 사항이 반영됩니다.할당에 대한 표현원시 값을 할당한 변수는 “변수는 **값을 갖는다”, “변수의 값은 **다”로 표현하고, 객체를 할당한 변수는 “변수는 객체를 참조하고 있다”, “변수는 객체를 가리키고 있다”고 표현합.. 2025. 3. 13. 객체 리터럴 객체자바스크립트는 객체 기반 프로그래밍 언어로, 거의 모든 것이 객체라고 볼 수 있습니다. 객체는 원시 타입의 값과 다르게 변경 가능한 값(mutable value)입니다. 0개 이상의 프로퍼티를 가지며, 프로퍼티는 키(key)와 값(value)으로 구성됩니다. 이때, 프로퍼티의 값으로 모든 값을 사용할 수 있고, 일급 객체인 함수 또한 값으로 사용할 수 있으며 함수가 값인 프로퍼티를 메서드라고 합니다.프로퍼티 - 객체의 상태를 나타내는 값(data)메서드 - 프로퍼티를 참조하고 조작할 수 있는 동작(behavior)객체 리터럴에 의한 객체 생성클래스 기반 객체지향 언어(C++, 자바)에서는 new 연산자를 통해 사전에 정의한 클래스의 인스턴스를 생성하지만, 프로토타입 기반 객체지향 언어인 자바스크립트에.. 2025. 3. 13. 타입 변환과 단축 평가 타입변환개발자가 의도적으로 타입을 변경하는 것을 명시적 타입 변환 또는 타입 캐스팅이라고 합니다. 반면, 의도와 무관하게 자바스크립트 엔진에 의해 타입이 변환되는 것을 암묵적 타입 변환 또는 타입 강제 변환이라 합니다.아래 코드에서 str1, str2 변수 모두 타입은 string이지만, str1는 명시적 타입변환, str2는 암묵적 타입 변환입니다.const x = 10const str1 = x.toString()const str2 = x + ""Falsy 값들false로 평가되는 값들은 아래와 같습니다.falseundefinednull0, -0NaN“” (빈문자열)단축 평가단축 평가는 표현식을 평가하는 도중에 평가 결과가 확정인 경우 나머지 평가 과정을 생략하는 것을 말합니다.논리 연산자논리 연산자를.. 2025. 3. 13. 제어문 제어문(control flow statement)은 조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용합니다. 블록문은 0개 이상의 문을 중괄호로 묶은 것으로 코드 블록, 블록이라고도 합니다. 자바스크립트는 블록문을 하나의 실행단위로 취급합니다.조건문(conditional statement)조건문에는 if…else문과 switch문이 있습니다.if…else문if…else문은 3가지 형태로 사용할 수 있습니다. if만 사용하여 해당 조건이 참인 경우를 확인하거나 if, else를 사용하여 참인 경우와 거짓인 경우 실행할 블록문을 설정하거나 if, else if, else 를 사용하여 여러 가지 조건에 따른 실행 코드를 설정할 수 있습니다. 이때 블록문이 간결할 경우, 중괄호를 생략할 수도 있습니다.i.. 2025. 3. 13. 이전 1 2 3 4 5 6 7 다음