
덧셈, 뺄셈 등은 기본적으로 같은 방식으로 진행됩니다. 전위연산자와 후위 연산자만 주의 하면 돼요!
<script>
let a = 1;
let b = 2;
console.log(a + b); //3
console.log(a * b); //2
console.log(a - b); // -1
a = a + 10; // a에 10을 더하고 다시 a에 그 값을 대입
console.log(a); //11
a+= 10; // a = a + 10 같은 표현
console.log(a);
let a = 1;
let b = 2;
console.log(a + b);
console.log(a * b);
console.log(a - b);
a = a+ 10;
console.log(a);
a+= 10;
console.log(a);
전위 연산자 : 먼저 더하고 계산 -> ++a;
후위 연산자 : 계산을 하고 더하기 -> a--;
<script>
let c = 10;
a++;
console.log(a);
a--;
console.log(a);
let compareA = 1 ==="1";
console.log(compareA);
compareA = 1;
console.log(typeof compareA);
</script>
프로그램 내에서 주어진 표현식의 결과에 따라 별도의 명령을 수행하도록 제어하는 실행문
<script>
let w;
w = w?? 10;
console.log (w);
let q = 3;
if(q >= 5){
console.log("5이상입니다.");
} else {
console.log("5이하입니다.");
}
let country = "ko";
if(country === "ko"){
console.log("한국");
} else if (country ==="cn"){
console.log("china");
}else if(country === "jp"){
console.log("japan")
} else{
console.log("etc");
}
switch(country){
case'ko' :
console.log("korea");
break;
case'jp' :
console.log("japan");
break;
case'cn' :
console.log("china");
break;
default:
console.log("etc");
break;
}
</script>
다른 객체처럼 속성 및 method를 가질 수 있기에 일급(first-class) 객체이며 인자를 가질 수 있는 코드 블록
<script>
*//직사각형 넓이 구하기*
let width1 = 10;
let height1 = 20;
let area1 = width1 * height1;
console.log(area1);
let width2 = 30;
let height2 = 15;
let area2 = width2 * height2;
console.log(area2);
// 일일이 적기 힘드니까 함수로 바꾸면?
//함수로 바꾸기
function getArea(width,height){
let area = width * height;
//console.log(area);
return area; } //함수 선언식, 함수 선언 방식의 함수 생성
getArea(100,20); //오류
let area1 = getArea(100,20);
console.log(area1);
function getArea(width,height){
let area = width * height;
//console.log(area);
return area; } *//함수 선언식, 함수 선언 방식의 함수 생성*
getArea(10,20);
console.log("함수 실행 완료");
getArea(100,200);
getArea(100,20); *//오류*
let area1 = getArea(100,20);
console.log(area1);
</script>


<script>
function helloB(){
return "여러분!";
}*//함수 선언식*
let helloA = function(){
return "안녕하세요 ~";
}; *//함수 표현식*
*//const helloText = hello();*
*//console.log(helloText);*
let helloA = () => "안녕하세요 ~"; *//화살표 함수*
</script>

<script>
function checkMood (mood, goodCallback, badCallback){
if(mood ==='good'){
goodCallback();
}else {
badCallback();
}
}
function cry(){
console.log("ACTION :: CRY");
}
function sing(){
console.log("ACTION:: SING");
}
function dance(){
console.log("ACTUION :: DANCE")
}
checkMood("sad", sing, cry);
let person1 = new Object(); *//생성자 방식*
let person = {}; *// 객체 리터럴 방식*
</script>
키(key)과 값(value)으로 구성된 프로퍼티(Property)들의 집합

<script>
console.log(person); *//표기법*
console.log(person.key1); *//점표기법*
console.log(person["key1"]); *//반드시 문자형 형태로 넣어야함*
function getPropertyValue(key){
return person[key];
} *//괄호 표기법 - 파라미터가 고정되어 있지 않을 때 좋음*
</script>

<script>
let person = {
name : "김고고",
age : 20
};
delete person["age"]; *//삭제 되지만 메모리는 남음*
console.log(person);
person.age = null; //값을 널로 바꿈
console.log(person);
let person = {
name : "김고고", *//멤버*
age : 20, *//멤버*
say : function(){
console.log("안뇽");
} *//메서드 -> 방법*
};
person.say(); //객체 속 함수 호출
</script>

<script>
let person = {
name : "김고고", *//멤버*
age : 20, *//멤버*
say : function(){
console.log(`안뇽 나는 ${this.name}`);
} *//메서드 -> 방법*
};
person.say();
*//존재하지 않는 프로퍼티 호출*
console.log(person.gender); *//undefined*
*//name이라는 키가 있는지?*
console.log(`name: ${"name" in person}`);
</script>
배열을 만드는 방법은 두 가지가 있는데, 배열 리터럴 대괄호([ ])를 사용하여 만드는 방법과 Array() 생성자 함수로 배열을 생성하는 방법이다.

<script>
//배열 안에는 모든 종류의 값들이 들어갈 수 있음
let arr = [1,"2",true,{},undefined, function(){}, []]; *//배열 리터럴*
console.log(arr);
let arr = [1,2,3,4]; *//배열 리터럴*
console.log(arr);
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
console.log(arr[3]);
arr.push(6); *//가장 마지막에 추가*
console.log(arr);
console.log(arr.length); *//베열의 길이*
for(let i=1; i<=100; i++){
*//반복 수행할 명령*
console.log("김")
}
</script>
<script>
for(let i=1; i<=100; i++){
*//반복 수행할 명령*
console.log("김")
}
const arr = ["a","b","c"];
for(let i =0; i< arr.length; i++){
console.log(arr);
}
let person = {
name : "깅깅깅",
age : 33,
tall : 155
};
const personKeys = Object.keys(person);
for(let i =0; i < personKeys.length; i++){
const curKey = personKeys[i];
const curValue = person[curKey];
console.log(`${curKey} : ${curValue}`)
}
const personValues = Object.values(person);
for(let i = 0; i< personValues.length; i++){
console.log(personValues[i]);
}
</script>