목록BOOKS (46)
\(@^0^@)/
JS가 제공하는 7가지 데이터 타입(숫자, 문자열, 불리언, null, undefined, 심벌, 객체 타입)은 크게 원시 타입 (primitive type)과 객체 타입 (object/reference type)으로 구분할 수 있음. - 원시 타입의 값, 즉 원시 값은 변경 불가능한 값(immutable value)이지만 객체(참조) 타입의 값, 즉 객체는 변경 가능한 값 (mutable value)이다. - 원시 값을 변수에 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장되지만, 객체를 변수에 할당하면 변수(확보된 메모리 공간)에는 참조 값이 저장됨. - 값에 의한 전달 (pass by value) : 원시 값을 갖는 변수를 다른 변수에 할당하면 원본의 ..
[ 객체 ] - JS는 객체 기반의 프로그래밍 언어 - JS를 구성하는 거의 "모든 것" - 원시 값을 제외한 나머지 값 (함수, 배열, 정규 표현식) - 0개 이상의 프로퍼티로 구성된 집합 ( 프로퍼티 : 키와 값으로 구성된 객체의 상태를 나타내는 값 메서드 : 프로퍼티(상태 데이터)를 참조하고 조작할 수 있는 동작 ) 다양한 타입의 값(원시 값 또는 다른 객체)을 하나의 단위로 구성한 복합적인 자료구조 원시 값은 변경 불가능한 값이지만, 객체는 변경 가능한 값. [ 객체 리터럴에 의한 객체 생성 ] 클래스를 사전에 정의하고 필요한 시점에 new 연산자와 함께 생성자를 호출하여 인스턴스를 생성하는 방식으로 객체를 생성. ( 인스턴스 :..
[ 타입 변환 ] 타입 변환이란 기존 원시 값을 사용해 다른 타입의 새로운 원시 값을 생성하는 것. JS의 모든 값은 타입이 있다. 값의 타입은 개발자의 의도에 따라 다른 타입으로 변환할 수 있다. 개발자가 의도적으로 값의 타입을 변환하는 것을 명시적 타입 변환 또는 타입 캐스팅(type casting)이라 함. 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 JS엔진에 의해 암묵적으로 타입이 자동변환 되는 것을 암묵적 타입 변환 또는 타입 강제 변환(type coercion) 이라 함. 명시적 타입 변환은 타입을 변경하겠다는 개발자의 의지가 코드에 명백히 드러나지만, 암묵적 타입 강제 변환은 개발자의 의지가 코드에 명백히 나타나지 않는다. 따라서, 자신이 작성한 코드에서 암묵적 타입 변환이 발생하는..
제어문은 조건에 따라 코드 블록을 실행(조건문)하거나 반복 실행(반복문)할 때 사용. 일반적으로 코드는 위에서 아래 방향, 순차적으로 실행됨. [ 블록문 ] 0개 이상의 문을 중괄호로 묶은 것, 제어문이나 함수를 정의할 때 사용하는 것이 일반적. 블록문은 언제나 문의 종료를 의미하는 자체 종결 성을 갖기 때문에 블록문의 끝에는 세미콜론을 붙이지 않는다. [ 조건문 ] 주어진 조건식의 평가 결과에 따라 코드 블록(블록문)의 실행을 결정한다. 조건식은 불리언 값으로 평가될 수 있는 표현식이며, JS는 if ...else 문과 switch문으로 두 가지 조건문을 제공. 논리적 참 또는 거짓에 따라 실행할 코드 블록을 결정 삼항 조건 연산자 표현식은 값처럼 사용할 수 있기 때문에 ..
연산자 : 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만든다. ("피연산자를 연산하여 새로운 값을 만든다"라는 동사의 역할) 피연산자 : 연산의 대상, 값으로 평가될 수 있는 표현식 이어야 한다. ("값"이라는 명사의 역할) ==> 연산자는 값으로 평가된 피연산자를 연산해 새로운 값을 만들고, 피연산자는 연산의 대상이 되어야 하므로 값으로 평가할 수 있어야 한다. [ JS가 제공하는 연산자 ] 산술 연산자 문자열 연결 연산자 할당 연산자 비교 연산자 논리 연산자 타입 연산자 [ 그 외의 연산자 ] ?. 연산자 ?? 연산자 delete 연산자 new 연산자 instanceof 연산자 in 연산자 [ 산술 연산자 ] 피연산자를 대상으로 수학적 계산을..
데이터 타입(data type)은 값의 종류이며, 자바스크립트의 모든 값은 데이터 타입을 갖는다. JS는 7개의 데이터 타입을 제공하며, 원시 타입(primitive type)과 객체 타입(object/reference type)으로 분류 됨 원시 타입(primitive type) : 숫자(number), 문자(string), 불리언(boolean), undefined, null, 심벌(symbol) 객체 타입 : 객체, 함수, 배열 등 숫자 타입의 값 1과 문자열 타입의 값 '1' 은 비슷해 보이지만 전혀 다른 값. ex) 숫자(number) 타입의 값은 주로 산술 연산을 위해 생성하지만, 문자열 타입의 값을 주로 텍스트를 화면에 출력하 기 위해 생성. 그렇기에, 개발자는 명확한 의도를 가지고 타입을 ..