자바스크립트

- 함수 표현식 //f(x,y) = x + y function add(x, y) { return x + y; } add(2, 5); 객체 : 일급객체 - 함수를 값처럼 자유롭게 사용 함수 리터럴로 생성한 함수 객체를 변수에 할당할 수 있다. //--------------함수정의--------------- function add(x, y) { return x + y; } //--------------함수호출-------------- var result = add(2, 5); console.log(result); //7 // 변수에 함수 리터럴을 할당 var f = function add(x, y) { return x + y; }; 함수 리터럴의 함수이름은 생략할 수 있다. = 익명함수 함수 선언문 = "표..
원시 타입과 객체타입으로 구분 --원시타입 : 변경불가능한 값 원시 값을 변수에 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장. --객체(참조)타입의 값: 변경가능한 값 객체를 변수에 할당하면 변수(할당된 메모리 공간)에는 참조값이 저장. -원시값- 원시타입의 값, 즉 원시 값은 변경불가능한 값이다. 한번 생성된 원시 값은 읽기 전용값으로서 변경할 수 없다. //----------------원시 타입과 객체타입으로 구분---------------- //원시타입 : 변경불가능한 값 //객체(참조)타입의 값: 변경가능한 값 const o = {}; // const 키워드를 사용해 선언된 변수는 재할당 금지된다. 상수는 재할당이 금지된 변수이다. // const 키워드를 사용해 선언한 변수에 할당한 ..
객체란? 자바스크립트는 객체 기반의 프로그래밍 언어이며, 자바스크립트를 구성하는 거의 모든 것이 객체다. 원시값을 제외한 나머지 값(함수, 배열, 정규 표현식 등) 모두 객체이다. 원시값은 단 하나의 값만 나타낸다. 객체 타입은 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조이다. ▷ 원시 타입의 값, 즉 원시 값은 변경 불가능한 값 immutable value ▷ 객체 타입의 값, 즉 객체는 변경가능한 값 mutable value 객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키와 값으로 구성된다. var person = { name: "Lee", //프로퍼티 age: 20, //프로퍼티 };​ 메서드 모든 값은 프로퍼티값이 될 수 있다. 자바스크립트 함수는 일급객체이므로 값으로..
타입 변환 명시적 타입 변환 자바스크립트의 모든 값은 타입이 있다. 개발자가 의도적으로 값의 타입을 변환하는 것을 명시적 타입 변환 또는 타입 캐스팅이라고 한다. 암묵적 타입 변환 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동변환되기도 한다. 암묵적 타입 변환 또는 타입 강제 변환이라고 한다. 원시 값은 변경불가능한 값이다. 변경할 수 없는 것이며 타입변환이란 기존 원시값을 사용해 다른 타입의 새로운 원시값을 생성하는 것이다. 위의 암묵적 타입변환 예제를 보면 + 연산자는 하나 이상의 문자열이 있을 경우 문자열 연결 연산자로 동작한다. 숫자 타입의 x 가 문자타입으로 타입이 변환된다. 값의 변경이 아닌 타른 타입의 새로운 원시값을 생성하는 것이다. 즉..
var score = 100; //변수 선언과 값의 초기화 변수 score와 리터럴 100이 있다. 숫자 값 100을 저장하기 위해 메모리 공간을 살펴보겠다. 자바스크립트 엔진이 리터럴 100을 숫자타입의 값으로 해석 숫자 타입의 값 100을 저장하기 위해 8바이트 메모리 공간을 확보함 100을 2진수로 저장 값을 참조하는 경우 식별자 score를 통해 숫자 타입의 값 100이 저장되어 있는 메모리 공간의 주소를 찾아갈 수 있다. 값을 참조하려면 한번에 읽어들어야할 메모리 공간의 크기, 즉 메로리 셀의 개수(바이트수)를 알아야한다. score변수의 경우, 저장되어 있는 값이 숫자 타입이므로 8바이트 단위로 읽어 들이지 않으면 값이 훼손된다. 숫자 타입은 8바이트 단위로 저장되므로, score변수를 참조하..
자바스크립트의 모든 값은 데이터 타입을 갖는다. 숫자타입 ECMAScript 사양에 따르면 숫자 타입의 값은 배정밀도 64비트 부동소수점 형식을 따른다. 즉 모든 수를 실수로 처리하며 정수만 표현하기 위한 데이터타입이 별도로 존재하지 않는다. //모든 숫자 타입이다. var integer = 10; //정수 var double = 10.12; //실수 var negative = -20; //음수 자바스크립트의 숫자타입은 정수만을 위한 타입이 없고 모든 수를 실수로 처리한다. 정수로 표시된다고 하여도 실수라는 것을 의미한다. 정수로 표기되는 수끼리 나누면 실수가 나올 수 있다. //숫자 타입은 모두 실수로 처리된다. console.log(1 ===1.0); //true console.log(4/2); //..
리터럴 리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법을 말한다. 리터럴은 사람이 이해할 수 있는 문자 또는 미리 약속된 기호(' ' , "" ,{} . [], // 등) 표기한 코드다. 자바스크립트 엔진은 코드가 실행되는 시점인 런타임에 리터럴을 평가해 값을 생성한다. 즉 리터럴은 값을 생성하기 위해 미리 약속한 표기법이라고 할 수 있다. 표현식 표현식은 값으로 평가될 수 있는 문이다. 표현식이 평가되면 새로운 값을 생성하거나 기존 값을 참조한다. 앞서 다룬 리터럴은 값으로 평가된다. var score = 200; var score = 50 + 50; 200은 리터럴이다. 리터럴 200은 자바스크립트 엔진에 의해 평가되어 값을 생성하므로 리터럴은 그 자체로 표현식이..
리터럴과 연산자 10 + 20 + 연산을 수행하기 위해 먼저 + 연산자의 좌변과 우변의 숫자 값, 즉 피연산자를 기억한다. 메모리는 데이터를 저장할 수 있는 메모리 셀의 집합체다. 메모리 셀 하나의 크기는 1바이트(8비트)이며, 컴퓨터는 메모리 셀의 크기, 즉 1바이트 단위로 데이터를 저장하거나 읽어 들인다. 컴퓨터는 모든 데이터를 2진수로 처리한다. 따라서 메모리에 저장되는 데이터는 데이터의 종류(숫자, 텍스트, 이미지 , 동영상등) 상관없이 모두 2진수로 저장된다. 숫자 10 과 20은 메모리 상의 임의의 위치에 기억(저장) 되고 CPU 는 이 값을 읽어 들여 연산을 수행한다. 편의상 10진수로 표현되어 있는 것이며 모든 값은 2진수로 저장이 되어 기억된다. 변수는 하나의 값을 저장하기 위해 메모리 ..
-JUNHEOK-
'자바스크립트' 카테고리의 글 목록