<Java Script> 연산자, 배열, 객체 등 기본 내용

김고은·2024년 1월 31일

Java_Script

목록 보기
4/7
post-thumbnail

1. 연산자

덧셈, 뺄셈 등은 기본적으로 같은 방식으로 진행됩니다. 전위연산자와 후위 연산자만 주의 하면 돼요!

<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>

2. 조건문

프로그램 내에서 주어진 표현식의 결과에 따라 별도의 명령을 수행하도록 제어하는 실행문

<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>

3. 함수

다른 객체처럼 속성 및 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>

4. 객체

키(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>

5. 배열

배열을 만드는 방법은 두 가지가 있는데, 배열 리터럴 대괄호([ ])를 사용하여 만드는 방법과 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>
profile
변화를 즐기는 개발자

0개의 댓글