01.변수 : 데이터 저장
변수는 데이터를 저장하는 저장소입니다.
{
var x = 100;
var y = 200;
var z = "javascript";
console.log(x);
console.log(y);
console.log(z);
}
결과 확인하기
200
"javascript"
변수의 저장방법.
변수 x에 숫자 100을 저장함 , 변수 y에 숫자 200을 저장함 , 변수 z에 문자 "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
"javascriptreact"
연산자 : 변수로 연산이 가능하다.
변수를 이용해서 연산이 가능하고, 연산에는 산술 연산자, 대입 연산자, 비교 연산자, 논리 연산자, 비트 연산자, 삼향 연산자가 있다.
04. 변수 : 지역변수 + 전역 변수(스코프)
지역변수와 전역변수의 사용 방법을 알 수 있다.
{
let x = 100; //전역변수 :전체
let y = 200;
function func(){
let x= 300;
let y = 400;
console.log("함수안" + x);
console.log("함수안" + y);
}
func(); 전역변수:
console.log("함수밖"+x);
console.log("함수밖"+y);
//전역변수 변경
let x = 100;
let y = 200;
function func(){
x= 300; 전역변수다. //100에서 300으로 변경 let으로 선언하지 않고 변경만 했다.
let y = 400;
console.log("함수안" + x); //전역변수는 안과 밖 둘다 실행이 가능하다.
console.log("함수안" + y);
}
func(); 전역변수: //함수 안에 블록화 시켜셔 안에 있는 변수의 값이 나오는 것
console.log("함수밖"+x);
console.log("함수밖"+y);
//함수 안에 변수 추가
let x = 100;
let y = 200;
function func(){
x= 300;
let y = 400; //지역변수
z="javascript" //전역변수의 값이 선언이 되지 않아도 함수 안에서 새로 변수가 생성될 수 있다, 원래는 틀린모드이다. 자바스크립트 자체에서 let으로 실행시켜줌
console.log("함수안" + x); //300
console.log("함수안" + y); //400
console.log("함수안" + z); //javascript
}
func(); //전역변수: 함수 안에 블록화 시켜셔 안에 있는 변수의 값이 나오는 것
console.log("함수밖"+x); //300
console.log("함수밖"+y); //400
console.log("함수밖"+z); //javascript 전역변수라 함수 밖에서도 실행이 가능함
}
결과 확인하기
400"함수안"
100"함수밖"
200"함수밖"
전역변수, 지역변수
전역변수는 함수 밖에 있는 전체를 말하고 지역변수는 함수 안에 블록화 시킨 변수를 말한다. 함수 안에 존재해서 에러가 나지 않는다.
04. 상수 : 데이터 저장 + 데이터 변경(x)
상수는 데이터 저장은 가능하나 변경은 불가능합니다.
{
const x = 100;
const y = 200;
const z = "javascript"
x += 300;
y += 400;
z += "react";
console.log(x);
console.log(y);
console.log(z);
const x = 100, y = 200, z = "javascript";
let x = 100;
let y = 200;
let z = "javascript";
x -= 1000; // 100 - 1000 = -900
x += 1000; // -900 + 1000 = 100
console.log(x, y, z);
}
결과 확인하기
200
"javascript"
자료형(typeof) : 프로그램에서 처리하는 자료의 유형을 지정하는 자료의 형태
변숫자,문자,블린(논리),undefined,null(값이 없는것),객체,배열,심벌
05. 배열 : 데이터 저장 (여러개): 표현방법1
배열은 여러가지 데이터를 저장할 수 있습니다. 배열은 [ ]와array를 이용합니다.
{
const arr = new Array(); // arr = 배열 단점: 칸이 많이 생긴다
arr[0] = 100;
arr[1] = 200;
arr[2] = "javascript"
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
}
결과 확인하기
200
"javascript"
06. 배열 : 데이터 저장(여러개): 표현방법2
배열은 여러개 데이터르 저장해서 칸이 많아지는데 한 줄에 간편하게 정리할 수 있는 표현방법도 있습니다.
{
const arr = new Array(100,200,"javascript");
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
}
결과 확인하기
200
"javascript"
07. 배열 : 데이터 저장(여러개): 표현방법3
한줄에 입력해도 데이터가 많아지면 지저분 해지므로 괄호 안에 넣어두지 않는 더 간편한 표현방법도 있습니다.
{
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"
08. 배열 : 데이터 저장(여러개): 표현방법4
칸이 많아질 수 있으므로 [ ]안에 배열합니다.
{
const arr = [100, 200, "javascript"];
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
}
결과 확인하기
200
"javascript"
09. 객체 : 데이터 저장(키와 값): 표현방법1
객체는 키와 값을 포함하고 있으며 모든 정보를 효율적으로 넣을 수 있고 배열값도 들어갈 수 있습니다.
{
const obj = new Object();
obj[0] = 100;
obj[1] = 200;
obj[2] = "javascript"
console.log(obj[0]);
console.log(obj[1]);
console.log(obj[2]);
}
결과 확인하기
200
"javascript"
10. 객체 : 데이터 저장(키와 값): 표현방법2
객체의 값을 .a .b .c 로 구할 수 있습니다. 그러나 양이 많아지는 단점을 가지고 있습니다.
{
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"
11. 객체 : 데이터 저장(키와 값): 표현방법3
{}를 이용해서 객체 값을 구할 수 있지만 양이 많아진다는 단점이 있습니다.
{
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"
12. 객체 : 데이터 저장(키와 값): 표현방법4
{}를 이용해서 객체를 구할 수 있습니다.
{
const x = 100; // 변수
const arr = [100, 200, "javascript"]; // 배열
const obj = {a:100, b:200, c:"javascript"}; //객체
console.log(obj.a);
console.log(obj.b);
console.log(obj.c);
}
결과 확인하기
200
"javascript"
13. 배열 : 데이터 저장(키와 값)
키와 값을 이용한 표현방법들
{
const brr = new Array();
const crr = new Array(200, "react", false); // 옛날방식
const drr = [];
const err = [300, "arrat", true];
brr[0] = 100;
brr[1] = "javascript";
brr[2] = "true";
drr[0] = 100;
drr[1] = "javascript";
drr[2] = "true";
console.log(brr[0],brr[1],brr[2]);
console.log(crr[0],crr[1],crr[2]);
console.log(drr[0],drr[1],drr[2]);
console.log(err[0],err[1],err[2]);
}
결과 확인하기
200, "react", false
100,"javascript","ture"
300,"arrat","ture"
14. 객체 : 데이터 저장 (키와 값 ): 표현방법 4
순서가 바뀌어서 써진 객체 표현방법 , ;는 마지막을 표시할 때 사용하지 않아도 된다.
{
const obj = {a:100, b:200, c:"javascript"};
console.log(obj.a);
console.log(obj.b);
console.log(obj.c);
}
결과 확인하기
200
"javascript"
15.객체 : 데이터 저장 (키와 값 ): 표현방법 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"
16.객체 : 데이터 저장 (키와 값 ): 표현방법 6
반대의 형태 -> 객체 안에 배열이 들어간 형태
{
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); //obj 쓴 후 객체 a , obj 쓴후 객체 쓰고 배열 가져오기 obj쓴 후 객체 , 객체
결과 확인하기
200
300
400
500
"javascript"
17. 객체 : 데이터 저장 (키와 값 ): 표현방법 7
객체 안에 변수를 저장한 것 a대신에 변수를 넣어준 것 키값 생략
{
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"
21.객체 : 데이터 저장 (키와 값 ): 표현방법 8
함수가 들어가는 것 , 객체 안에는 실행문이 나올 수 있다.
{
const obj = {
a: 100,
b: [200, 300],
c: "javascript",
d: function(){
console.log("javascript가 실행되었습니다.");
},
e: function(){
console.log( objc + "가 실행되었습니다.");
},
f: function(){
console.log( thisc + "가 실행되었습니다.");
}
}
console.log(obj.a);
console.log(obj.b[0]);
console.log(obj.b[1]);
console.log(obj.b[2]); //undifind
console.log(obj.c);
console.log(obj.d); //(이렇게 쓰면 안된다)
obj.d();
obj.e();
obj.f();
}
결과 확인하기
200,300
"javascript"
"javascript가 실행되었습니다." "javascript가 실행되었습니다." "javascript가 실행되었습니다."
변수, 상수, 배열, 객체, 배열&객체, 함수, 클래스
변수 : 데이터 하나 저장 / 상수 : 변하지 않는 것 / 배열 : 데이터 저장 두개 이상 무제한 저장 / 객체 : 키와 값으로 저장 / 배열 & 객체 = 저장문 / 함수 : 실행문 (너무 난잡, 기능 추가 확대할때 불편) , 클래스보다 쉬움 / 클래스 : 함수의 집합체 (함수의 디테일 버전), 자바의 개념
20.식별자, 예약자
식별자와 예약자, 비트연산잔에 대한 설명입니다.
{
//식별자 변수는 띄어쓰기를 할 수 없습니다.
var n um = 10; // 띄어쓰기 불가능
//특수문자가 올 수 없으나 '_'나 '$'는 사용할 수 있습니다.
var 1ume = 10; //x
var %ume = 10; //x
var _ume = 10; //o
var $ume = 10; //o
//예약어 : 자바스크립트 안에서 특별한 용도를 가진 키워드를 의미합니다. 변수명으로 사용 불가능
//brea,case,catch,default,delete,do,else,finally,for,function,if,in,instanceof,new,return,switch,this,throw,try,typeof,var...
var break = 10;
var continue = 10;
}
결과 확인하기
21.연산자(전치,후치), 비트연산자
연산자의 전치연산자, 후치연산자 비트연산자 문제풀이입니다.
{
var score = 10;
++score; //전치 연산자 +1 11
score++; //후치 연산자 +1 12
var result = ++score //11
var result = score++ //10
console.log(result, score);
//문제1
let hap, j, k, l;
j = k = l = 1 //jkl안에 1이 들어가 있다.
hap = ++j + k ++ + ++l //후치 연산자는 우선순위가 낮다.
console.log(hap); //5 후치 연산자는 k가 계산이 안됌
console.log(j); //2
console.log(k); //2 계산이 되어서 나옴
console.log(l); //2
//문제2
let a = 1, b= 2, c = 3, result;
result = ++a + b++ + ++c;
console.log(result); //8
console.log(a); //2
console.log(b); //3
console.log(c); //4
//문제3
let x = 7, y = 7, result;
result = x ≶ y ? ++x : y--;
console.log(result); //7
console.log(x); //7
console.log(y); //6
//문제4
let = a, b, c, result;
a=20, b=30, c=30;
result= a< b ? b++ : --c;
//에이는 비보다 작으면 b++가 실행된다 아니면 --c가 실행된다.
console.log(result) //30 b++는 후치 연산자라 우선순위가 낮아서 계산이 되지 않고 실행된다.
console.log(a) //20 a의 값 그대로
console.log(b+c) //61 b는 +1로 31 c는 30 (c는 실행된 적이 없다. 그대로의 값)
console.log(c) //30 실행된 적 없으므로 c의 값이 그대로 실행된다.
//비트연산자
a = 5 // 0101(2진수)
b = 9 // 1001(2진수)
a = a ^ b
b = a ^ b
a = a ^ b
print("a =", a) // 1001(2진수), 즉 9
print("b =", b) // 0101(2진수), 즉 5
}
결과 확인하기
11,10
전치연산자,후치연산자,비트연산자
전치연산자는 우선순위가 result보다 높아서 값이 더해지지만 후치연산자는 우선순위가 낮아 더해지지 않습니다. 비트연산자는 AND연산(&): 두 비트가 모두 1이면 결과는 1, 그렇지 않으면 0이 됩니다. OR연산(|):두 비트 중 하나라도 1이면 결과는 1 아니면 0이 됩니다. XOR연산(^): 두 비트가 서로 다르면 결과는 1 같으면 0이 됩니다. NOT연산(~):비트 값을 반전시킵니다. 0은 1로 1은 0으로 변환됩니다. (<<):비트 값을 왼쪽으로 이동시키는데 이동한 비트는 0으로 채워집니다. (>>):비트 값을 오른쪽으로 이동시키는데 이동한 비트는 최상위 비트와 같은 값으로 채워집니다.
21.번외 형변화,typeof ()
변수는 데이터를 저장하는 저장소입니다.
{
let x = 100, y = "200", z;
const func = function(){} //함수도 변수에 들어갈 수 있음
document.write(x);
document.write(typeof(x)); //100을 넣어주면 숫자("Number")로 판단한다. typeof:성질을 알려준다
document.write(y);
document.write(typeof(y));
y = Number(y); //형이 변환 된다, "=":같다라는 표시가 아닌 좌변에서 우변으로 넘어간다
document.write(typeof(y));
document.write(z);
document.write(typeof(z));
document.write(func);
document.write(typeof(func));
}
}
결과 확인하기
typeof(x)= Number
y= "200" typeof(x)= string
y=Number(y)= : string 에서 number로 변환
(z)=undefined
typeof(z)=undefined
func=function
typeof(func)=function