📕 연산자는 표현식(피연산자)을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만든다. 피연산자와 연산자의 조합도 값으로 평가되므로 표현식이다. 1️⃣ 산술 연산자 1. 이항 산술 연산자 피연산자 2개가 필요하며, 피연산자의 값이 바뀌지 않고 새 값을 만든다. 2. 단항 산술 연산자 피연산자 1개를 산술하며, 값을 변경하는 부수효과가 있다. 증가/감소 연산자는 위치가 중요하다. var x = 5, result; // 선할당 후증가 result = x++; console.log(result, x); // 5 6 // 선증가 후할당 result = ++x; console.log(result, x); // 7 7 3. 문자열 연결 연산자 피연산자 중 하나 이상이 문자열이면 문..
📕 정적 타입 언어는 변수를 선언할 때 변수에 할당할 수 있는 데이터 타입을 사전에 선언해야 한다. 명시적 타입 선언이라고도 한다. // C언어에서는 정수형, 문자형 변수가 다르다 char c; int num; 타입 변경 불가 변수 선언 시점에 타입 결정 📕 동적 타입 언어는 선언 키워드를 사용해 변수를 선언하고 어떤 타입이든 자유롭게 할당할 수 있다. var foo; console.log(typeof foo); // undefined foo = 3; console.log(typeof foo); // number 타입 변경 가능 값 할당 시점에 타입 결정 자유로운 타입 할당이 가능하다는 장점이 있지만, 복잡한 프로그램에서는 변수 값을 추적하기 어렵거나 타입이 바뀌어 신뢰성이 떨어지는 단점이 있다. 그러므..
📕 데이터 타입은 값의 종류를 말한다. 자바스크립트는 7개의 데이터 타입을 제공한다. ⭐️ 원시 타입 원시 값은 변경 불가능한 값이다. 상수는 재할당이 금지된 변수로 원시 값과 다르다. 변경 불가능하다는 것은 변수 값을 할당할 때 덮어 씌우는 것이 아닌 새로운 메모리 공간에 할당한다는 의미이다. (4장 참고) ⭐️ 객체 타입 데이터 타입은 크게 원시 타입, 객체 타입으로 나뉘는데 6가지 타입 이외의 값은 모두 객체 타입이다. (자세한 것은 11장에서 다룬다.) 1️⃣ 숫자 타입 C언어의 경우 정수, 실수에 따라 다양한 타입을 제공하는데, 자바스크립트에서는 64비트 부동소수점 형식을 따라 모든 수를 실수로 처리하므로 타입이 하나만 존재한다. 1. n진수로 표현할 데이터 타입이 없으므로 값을 참조하면 모두 ..
📕 값은 표현식이 평가되어 생성된 결과를 말한다. 10 + 20이라는 표현식이 평가되어 생성된 결과 30이 값이다. 모든 값은 데이터 타입을 가진다. 이진수로 저장된 값 0100 0001을 숫자로 해석하면 65, 문자로 해석하면 'A'다. 값은 보통 리터럴을 사용하여 생성한다. 📕 리터럴은 사람의 문자, 기호를 사용해 값을 생성하는 표기법을 말한다. 숫자 3을 입력하면 자바스크립트 엔진은 리터럴 3을 평가해 숫자 3을 생성한다. 더보기 리터럴 종류 📕 표현식은 값으로 평가될 수 있는 문장이다. 표현식이 평가되면 새로운 값을 생성하거나 기존값을 참조한다. [1] 리터럴도 값이므로 그 자체로 표현식이다. [2] score = 50+50도 평가되어 숫자를 생성하므로 표현식이다. [3] score 식별자를 참조..
📕 변수는 값을 저장할 메모리 공간을 식별하기 위해 붙인 이름을 말한다. 변수에 값을 저장하는 것을 할당이라 하고, 저장된 값을 읽어 들이는 것을 참조라고 한다. // 변수는 하나의 값을 저장하기 위한 수단이다. var userid = 1; var userName = 'Lee'; // 객체나 배열 같은 자료구조를 사용하면 여러 개의 값을 하나로 그룹화해서 하나의 값처럼 사용할 수 있다. var user = { id: 1, name: 'Lee'}; var users = [ { id: 1, name: 'Lee'}, { id: 2, name: 'Kim'} ]; 📕 식별자는 어떤 값을 구별할 수 있는 고유한 이름을 말한다. (변수, 함수, 클래스 등) 값은 메모리 공간에 저장되어 있어서 식별자는 값이 아니라 메..