Javascript (47) 썸네일형 리스트형 [모던 자바스크립트 Deep Dive] 07. 객체 리터럴 객체란 자바스크립트는 객체 기반의 프로그래밍 언어 자바스크립트를 구성하는 거의 모든 것이 객체 원시값을 제외한 나머지 값 (함수, 배열, 정규 표현식 등)은 모두 객체 원시 값 (원시 타입의 값)은 변경 불가능한 값이지만 객체 (객체 타입의 값)은 변경 가능한 값 객체 : 0개 이상의 프로퍼티와 메서드로 구성된 집합체이며 프로퍼티는 키와 값으로 구성 var counter = { num : 0, // 프로퍼티 increase : function(){// 메서드 this.num ++ ; } } 프로퍼티 : 객체의 상태를 나타내는 값 (data) 메서드 : 프로퍼티 (상태 데이터)를 참조하고 조작할 수 있는 동작 (behavior) 객체 리터럴에 의한 객체 생성 자바스크립트는 프로토타입 기반 객체지향언어로 다.. [모던 자바스크립트 Deep Dive] 06. 타입 변환과 단축 평가 타입 변환과 단축 평가 타입 변환이란 명시적 타입 변환/ 타입 캐스팅 : 개발자가 의도적으로 값의 타입을 변환하는 경우 암묵적 타입 변환/ 타입 강제 변환 : 개발자의 의도와는 상관없이 표현식을 평가하는 도중 자바스크립트 엔진에 의해 암묵적으로 타입이 변환되는 경우 타입 변환 : 기존 원시 값을 사용해 다른 타입의 새로운 원시 값을 생성하는 것 원시 값은 변경 불가능한 값으로 타입 변환이 기존 원시 값을 직접 변경하는 것은 아님 암묵적 타입 변환 표현식을 평가할 때 개발자의 의도와는 상관없이 코드의 문맥을 고려해 암묵적으로 데이터 타입을 강제 변환 암묵적 타입 변환이 발생하면 문자열, 숫자, 불리언과 같은 원시타입 중 하나로 자동 변환 문자열 타입으로 변환 // 숫자 타입 NaN + ''; // "Na.. [모던 자바스크립트 Deep Dive] 05. 제어문 제어문 제어문 : 조건에 따라 코드 블록을 실행(조건문)하거나 반복 실행(반복문)할 때 사용 일반적으로 코드는 위에서 아래 방향으로 순차적으로 실행되지만 제어문을 사용하면 코드의 실행 흐름 인위적 제어 가능 블록문 블록문 : 0개 이상의 문을 중괄호로 묶은 것 (= 코드블록, 블록) 자바스크립트는 블록문을 하나의 실행 단위로 취급 일반적으로 제어문이나 함수를 정의할 때 사용 조건문 조건문 : 주어진 조건식의 평가 결과에 따라 코드 블록의 실행을 결정 (불리언 값으로 평가될 수 있는 표현식) if...else 문 : 논리적 참 또는 거짓에 따라 실행할 코드 블록을 결정 조건식이 불리언 값이 아닌 값으로 평가되면 자바스크립트 엔진에 의해 암묵적으로 불리언 값으로 강제 변환되어 실행할 코드블록 결정 (암묵적 .. [모던 자바스크립트 Deep Dive] 04. 연산자 연산자 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만듬 피연산자 : 연산의 대상이자 값으로 평가될 수 있는 표현식 연산자 : 값으로 평가된 피연산자를 연산해 새로운 값으로 만듬 산술 연산자 산술 연산자 : 피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자 값을 만듬 (산술 연산이 불가능한 경우 NaN 반환) 이항 산술 연산자 : 2개의 피연산자를 산술 연산하여 숫자 값을 만듬 (피연산자의 값을 변경하는 부수 효과가 없고 언제나 새로운 값을 만듬) 이항 산술 연산자 의미 부수 효과 + 덧셈 X - 뺄셈 * 곱셈 / 나눗셈 % 나머지 단항 산술 연산자 : 1개의 피연산자를 산술 연산하여 숫자 값을 만듬 단항 산술 연산자 의미 부수 효과 ++ 증가.. [모던 자바스크립트 Deep Dive] 03. 데이터 타입 데이터타입 데이터타입 : 값의 종류 구분 데이터 타입 설명 원시 타입 숫자 타입 숫자, 정수와 실수 구분 없이 하나의 숫자 타입만 존재 문자열 타입 문자열 불리언 타입 논리적 참(true) 과 거짓 (false) undefined 타입 var 키워드로 선언된 변수에 암묵적으로 할당되는 값 null 타입 값이 없다는 것을 의도적으로 명시할 때 사용하는 값 심벌 타입 ES6에서 추가된 7번째 타입 객체 타입 객체, 함수, 배열 등 숫자 타입 자바스크립트는 모든 수를 실수로 처리한다 추가적인 세 가지 특별한 값 Infinity : 양의 무한대 -Infinity : 음의 무한대 NaN : 산술 연산 불가 (not-a-number) 문자열 타입 문자열 타입 : 텍스트 데이터를 나타내는 데 사용 문자열은 작은따옴표.. [모던 자바스크립트 Deep Dive] 02. 표현식과 문 값 값 : 식(표현식)이 평가 되어 생성된 결과 평가 : 식을 해석해서 값을 생성하거나 참조하는 것 리터럴 리터럴 : 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법 코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성 3 // 숫자 리터럴 3 사람이 이해할 수 있는 아라비아 숫자를 사용해 숫자 리터럴 3 기입 → 이를 평가해 숫자 값 3 새성 표현식 표현식 : 값으로 평가될 수 있는 문 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조 // 리터럴 표현식 10 'Cuttty' // 식별자 표현식 (선언이 이미 존재한다는 가정) str num arr[1] // 연산자 표현식 10 + 20 sum = 10 sum !== 10 // 함수/ 메서드 호출 표현식 (선언이.. [모던 자바스크립트 Deep Dive] 01. 변수 변수 변수 : 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름 값의 위치를 가르키는 상징적인 이름 기억하고 싶은 값을 메모리에 저장하고 저장된 값을 읽어 들여 재사용하기 위해 변수라는 메커니즘을 제공 컴퓨터는 CPU를 사용해 연산하고 메모리를 사용해 데이터를 기억 메모리 : 데이터를 저장할 수 있는 셀의 집합체 메모리 셀 1 = 1 바이트 = 8비트 변수 이름 : 메모리 공간에 저장된 값을 식별할 수 있는 고유한 이름 변수 값 : 변수에 저장된 값 (메모리 공간에 저장된 값) 할당 : 변수에 값을 저장 (메모리 공간에 값을 저장) 참조 : 변수에 저장된 값을 읽어들이는 것 (메모리 공간에 저장된 값을 읽어들이는 것) 식별자 식별자 : 어떤 값을 구별해서.. 이전 1 ··· 3 4 5 6 다음