FE/JavaScript(23)
-
[Javascript] 원시 값과 객체 비교
데이터 타입은 크게 원시 타입과 객체(참조) 타입으로 구분할 수 있다. 원시 타입과 객체 타입으로 구분하는 이유는 세 가지 측면에서 다르다. 원시 값은 변경 불가능한 값인 반면 참조 타입은 변경 가능한 값이다. 원시 값을 변수에 할당하면 확보된 메모리 공간에 실제 값이 저장되는 반면 객체를 변수에 할당하면 참조 값이 저장된다. → 실제로 모든 변수는 주소값을 저장한다. 원시 값을 갖는 변수를 다른 변수에 할당하면 원본의 원시 값이 복사되어 전달되는 반면 객체를 가리키는 변수를 다른 변수에 할당하면 원본의 참조 값이 복사되어 전달된다. 원시 값 - 변경 불가능한 값 한번 생성된 원시 값은 읽기 전용 값이다. 원시 값을 변경 할 수 없다는 것과 원시 값을 저장하는 변수를 변경할 수 없다는 것과 혼동하면 안된..
2022.10.04 -
[Javascript] 객체 리터럴
자바스크립트는 객체 기반의 프로그래밍 언어로 원시 값을 제외하면 나머지 (함수, 배열, 정규 표현식 등) 모두 객체이다. 원시 타입 vs 객체 타입 원시 타입은 단 하나의 값만 나타내지만 객체 타입은 다양한 타입의 값을 하나의 단위로 구성한 자료구조다. 원시 타입은 변경이 불가능한 값이지만 객체는 변경이 가능하다. 객체 객체는 프로퍼티로 구성된 집합이다. key : value 형태로 표현되는데 모든 값들이 프로퍼티 값이 될 수 있다. 함수도 프로퍼티 값이 될 수 있는데 프로퍼티 값이 함수일 경우 일반 함수와 구분하기 위해 메서드라고 부른다. const counter = { num : 0, // 프로퍼티 increase : function() { // 메서드 this.num++; } }; 따라서 객체는 프..
2022.09.29 -
[JavaScript] 타입 변환과 단축 평가
타입 변환 자바스크립트의 모든 값은 타입이 있다. 의도적으로 값의 타입을 변환하는 것을 명시적 타입 변환 또는 타입 캐스팅이라 한다. var x = 10; var str = x.toString(); // 숫자를 문자열로 타입 캐스팅 console.log(typeof str); // string console.log(typeof x); // number 값의 타입이 의도치 않게 다른 타입으로 변환될 수 있다. 이를 암묵적 타입 변환 또는 타입 강제 변환이라 한다. var x = 10; var str = x + ''; console.log(typeof str); // string console.log(typeof x); // number 명시적 타입 변환이나 암묵적 타입 변환이 기존 원시 값을 직접 변경하는..
2022.09.11 -
[JavaScript] 제어문
제어문은 조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용한다. 블록문 문을 중괄호로 묶은 것으로 코드 블록 또는 블록이라고 부르기도 한다. 자바스크립트는 블록문을 하나의 실행 단위로 취급한다. 블록문은 단독으로 사용할 수도 있지만 일반적으로 제어문이나 함수를 정의할 때 사용하는 것이 일반적이다. { console.log("정상 실행됨"); } 중괄호 쓰고 코드를 작성해도 실행이 된다. 문의 끝에는 세미콜론을 붙이는 것이 일반적이다. 하지만 블록문은 언제나 문의 종료를 의미하는 자체 종결성을 갖기 때문에 블록문 끝에는 세미콜론을 붙이지 않는다. 조건문 주어진 조건식의 평가 결과에 따라 블록문 실행을 결정한다. 조건식은 boolean으로 평가될 수 있는 표현식이다. 조건식이 boolean 값이 아닌..
2022.09.10 -
[JavaScript] 연산자
연산자는 하나 이상의 표현식을 대상으로 연산을 수행하여 하나의 값을 만든다. 연산 대상인 피연산자는 값으로 평가 될 수 있는 표현식이어야 한다. 연산자는 값으로 평가된 피연산자를 연산해 새로운 값을 만든다. 산술 연산자 피연산자를 대상으로 연산을 수행하여 새로운 숫자를 만든다. (결과가 Number 타입) 산술 연산이 불가능한 경우 NaN을 반환한다. (null, undefined) 자바스크립트 엔진이 암묵적으로 피연산자의 타입 변환 후 연산을 수행한다. 이 때, 피연산자 값을 타입 변환 후 연산을 하기 때문에 피연산자 자체에 영향을 주지는 않는다. 이항 산술 연산자 2개의 피연산자를 연산하여 숫자 값을 만든다. + : 덧셈 - : 뺄셈 * : 곱셈 / : 나눗셈 % : 나머지 단항 산술 연산자 1개의 ..
2022.09.09 -
[Java Script] 데이터 타입
자바스크립트(ES6)는 7개의 데이터 타입을 제공한다. 7개의 데이터 타입은 원시 타입과 객체 타입으로 분류할 수 있다. 구분 데이터 타입 설명 원시 타입 number 숫자 : 정수와 실수 구분 없이 하나의 숫자 타입만 존재한다. string 문자열 boolean true, false undefined var 키워드로 선언된 변수에 암묵적으로 할당되는 값 null 값이 없다는 것을 의도적으로 명시할 때 사용하는 값 symbol ES6에서 추가된 7번째 타입 객체 타입 객체, 함수, 배열 등 숫자 타입 C나 자바의 경우 정수와 실수를 구분하지만 자바스크립트는 하나의 숫자 타입만 존재한다. ECMAScript 사양에 따르면 숫자 타입의 값은 배정밀도 64비트 부동소수점 형식을 따른다. 즉 모든 수를 실수로 ..
2022.08.24