01. 변수 : 데이터 저장
변수는 데이터를 저장하는 저장소입니다.
{
var x = 100; //변수 x에 숫자 100을 저장함
var y = 200; //변수 y에 숫자 200을 저장함
var z = "javascript"; //변수 z에 문자 "javascript"를 저장함
console.log(x);
console.log(y);
console.log(z);
}
결과 확인하기
200
javascript
02. 변수 : 데이터 저장 + 데이터 변경
변수는 데이터를 저장할 수도 있지만 변경도 가능하다.
{
let x = 100;
let y = 200;
let z = "javascript";
x = 300;
y = 200;
z = "react";
console.log(x);
console.log(y);
console.log(z);
}
결과 확인하기
200
react
03. 변수 : 데이터 저장 + 데이터 변경 + 데이터 추가
변수는 데이터를 저장하고, 변경하고, 추가할 수 있습니다.
{
let x = 100;
let y = 200;
let z = "javascript";
x += 300; // x = x + 300
y += 400;
z += "react";
console.log(x);
console.log(y);
console.log(z);
}
결과 확인하기
600
javascript
연산자 : 변수로 연산이 가능하다.
변수를 이용해서 연산이 가능하고, 연산에는 산술연산자, 대입연산자, 비교 연산자, 논리 연산자, 비트 연산자, 상황 연산자가 있다.
04. 변수 : 지역변수 + 전역 변수(스코프)
변수는 데이터를 저장하고, 변경하고, 추가할 수 있습니다.
{
let x = 100; //전역변수
let y = 200; //전역변수 //함수안에 있지 않아도 식이 먹힘
function func (){
let x = 100; //중복이어도 함수 안에 있으면 다른 변수로 계산 //지역 변수
let y = 200; //let이 없으면 전역변수로 계산(ex y=100)
z = "javascript"; //전역변수
console.log("함수안" + x);
console.log("함수안" + y);
console.log("함수안" + z);
}
func();
console.log("함수밖" + x);
console.log("함수밖" + y);
}
결과 확인하기
함수안100함수안200
함수안javascript
함수밖100
함수밖200
함수밖javascript
05. 상수 : 데이터 저장 + 데이터 변경불가
상수는 데이터 저장은 가능하나 변경은 불가능합니다. 상수(const)는 이미 선언한 상수에 대해 중복 선언이 불가능하며 상수의 값을 재지정할 수도 없습니다.
{
const x = 100;
const y = 200;
const z = "javascript";
x = 300; //Assignment to constant variable.
y = 400;
z = "react";
console.log(x);
console.log(y);
console.log(z); //Assignment to constant variable
}
결과 확인하기
//Assignment to constant variable
//Assignment to constant variable
06. 배열 : 데이터 저장(여러개): 표현방법1
배열의 기본 입력형식은 대괄호([ ])를 사용합니다.
{
const arr = new Array();
arr[0] = 100;
arr[1] = 200;
arr[2] = "javascript";
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
}
결과 확인하기
200
javascript
07. 배열 : 데이터 저장(여러개): 표현방법2
같은 내용을 보다 간략하게 한줄로 나타낼 수 있습니다.
{
const arr = new Array(100, 200, "javascript");
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
}
결과 확인하기
200
javascript
08. 배열 : 데이터 저장(여러개): 표현방법3
new Array를 생략하여 데이터 값을 나타내는 형식입니다.
{
const arr = [];
arr[0] = 100;
arr[1] = 200;
arr[2] = "javascript"
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
}
결과 확인하기
200
javascript
09. 배열 : 데이터 저장(여러개): 표현방법4
new Array를 생략한 후 한 줄로 간략화한 형식입니다.
{
const arr = [100, 200, "javascript"];
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
}
결과 확인하기
200
javascript
10. 객체 : 데이터 저장(키와 값): 표현방법1
객체란 여러가지 원시 유형을 하나로 묶은 것으로 obj로 표현합니다.
{
const obj = new Object();
obj[0] = 100;
obj[1] = 100;
obj[2] = "javascript";
console.log(obj[0]);
console.log(obj[1]);
console.log(obj[2]);
}
결과 확인하기
200
javascript
11. 객체 : 데이터 저장(키와 값): 표현방법2
대괄호와 숫자를 제외한 문자로도 표시할 수 있습니다.
{
const obj = new Object();
obj.a = 100;
obj.b = 200;
obj.c = "javascript";
console.log(obj.a);
console.log(obj.b);
console.log(obj.c);
}
결과 확인하기
200
javascript
12. 객체 : 데이터 저장(키와 값): 표현방법3
중괄호를 사용하여 new object태그를 생략하여 표현할 수 있습니다.
{
const obj = {};
obj.a = 100;
obj.b = 200;
obj.c = "javascript"
console.log(obj.a);
console.log(obj.b);
console.log(obj.c);
}
결과 확인하기
200
javascript
13. 객체 : 데이터 저장(키와 값): 표현방법4
한줄형식으로 데이터를 나타낼 수 있지만 키와 값을 함께 입력해야 합니다.
{
const obj = {a:100, b:200, c:"javascript"};
console.log(obj.a);
console.log(obj.b);
console.log(obj.c);
}
결과 확인하기
200
javascript
14.객체 : 데이터 저장(키와값) : 표현방법5 : 배열안에 객체
배열 안에 키값을 입력하여 객체를 포함시킬 수 있습니다.
{
const obj = [
{a:100, b:200},
{c:"javascript"}
];
console.log(obj[0].a);
console.log(obj[0].b);
console.log(obj[1].c);
}
결과 확인하기
200
javascript
15.객체 : 데이터 저장(키와값) : 표현방법6 : 객체 안에 배열
객체안에 배열을 포함시킬 수 있습니다. 배열의 인덱스는 0부터 시작하는 것을 주의해줍니다.
{
const obj = {
a: 100,
b: [200, 300],
c: {x: 400, y: 500},
d: "javascript"
};
console.log(obj.a);
console.log(obj.b[0]);
console.log(obj.b[1]);
console.log(obj.c.x);
console.log(obj.c.y);
console.log(obj.d);
}
결과 확인하기
200
300
400
500
javascript
16.객체 : 데이터 저장(키와값) : 표현방법7
변수나 상수를 포함하여 입력할 수 있습니다.
{
const a = 100;
const b = 200;
const c = "javascript";
const obj = {a, b, c};
console.log(a);
console.log(b);
console.log(c);
}
결과 확인하기
200
javascript
17.객체 : 데이터 저장(키와값) : 표현방법8
객체 안에는 함수(실행문)을 포함하여 입력할 수 있습니다.
{
const obj = {
a: 100,
b: [200, 300],
c: "javascript",
d: function(){
console.log("javascript가 실행되었습니다.");
};
e: function(){
console.log(obj.c + "가 실행되었습니다.");
};
f: function(){
console.log(this.c + "가 실행되었습니다.")
};
};
console.log(obj.a);
console.log(obj.b[0]);
console.log(obj.b[1]);
console.log(obj.b[2]);
console.log(obj.c);
obj.d();
obj.e();
obj.f();
}
결과 확인하기
200
300
undefined
javascript
javascript가 실행되었습니다.
# 연산자(전치, 후치) 예제
1.
var scor = 10;
// ++score; //11
// score++; //12
var result = score++; //11
console.log(result, score); //10, 11 result의 우선순위 때문에 더해진 스코어보다 먼저 나온다.
2.
let hap, j, k, l;
j =k = l = 1;
hap = ++j + k++ + ++l;
console.log(hap) //k++ 후치가 있기 때문에 =보다 우선순위가 낮아서 hap의 계산이 안된다. //5
console.log(j); //계산이 끝난값이 나옴 //2
console.log(k); //2
console.log(l); //2
3.
for(let i=0; i<10; i++){
sum += i
}
for(let i=10; i>0; i--){
sum += i
}
//위 두개의 for문은 같은 값이다.
4.
let a =1, b=2, c=3, result;
result = ++a + b++ + ++c;
console.log(result);
console.log(a);
console.log(b);
console.log(c);
let x = 7, y = 7, result;
result = x > y ? ++x : y--; //true면 true만(++x) 해석하고 false면 false만(y--) 해석한다(한가지는 실행x)
console.log(result); //7
console.log(x); //7
console.log(y); //6
5.
let a =1, b=2, c=3, result;
a=20, b=30, c=30;
result = a < b ? b++ : --c; //--c는 실행x
console.log(result); //30
console.log(a); //20
console.log(b+c); //60
console.log(c); //30
6.
let num1 = 16, num2 = 40;
let a = num1++;
let b = --num2;
console.log(a+b); //55
#비트 연산자
{
{
let a = 9;
let b = 11;
let c = a ^ b;
console.log(c);
};
{
let num1 = 16, num2 = 80;
let result;
result = num1 > num2 ? num1 & num2 : num1 ^ num2;
console.log(result);
};
};
결과 확인하기
64
비트 연산자 종류
&(AND연산자) : 두 비트가 모두 1일 경우에만 결과가 1이된다.
|(OR연산자) : 두 비트 중 하나 이상이 1일 경우 1, 둘 다 0인 경우 0이된다.
^(XOR연산자) : 두 비트가 서로 다른 경우 1, 같은경우 0이 된다.