-
javascriptJAVASCRIPT 2022. 1. 11. 00:43
지난주에 이어서,
1. 데이터 타입. etc
<script>//논리 타입var logical = false;logical = true;//logical = True;var apple = 0;if(apple){console.log('사과가 ' + apple + '개 있습니다.');} else{console.log('사과가 하나도 없습니다.');}//nullvar banana = '바나나';banana = null;console.log(typeof banana);</script></body>2. 연산자
(1) 비교연산자
<body><script>var a = 5, b = '5';// == 연산자는 암묵적으로 문자열 내부에 숫자가 있다면 자동으로 숫자로 변환한 후 비교합니다.// ===을 사용하면 타입까지 일치하는지 비교합니다.console.log(a == b); // 동등 비교 -> trueconsole.log(a === b); // 일치 비교 -> false//동등 비교는 결과 예측이 힘들기 때문에 조심해야 합니다.console.log('====================');console.log('0' == ''); -> falseconsole.log(0 == ''); -> trueconsole.log(0 == '0'); -> trueconsole.log(false == 'false'); -> falseconsole.log(false == '0'); -> trueconsole.log('====================');//일치 비교에서는 NaN을 주의해야 합니다.//NaN은 자신과 일치하지 않는 유일한 값입니다.console.log(NaN === NaN); -> false//문자열 비교console.log('====================');console.log('apple' === 'APPLE'); -> false// 문자열의 대소 비교는 유니코드 문자번호 기준입니다.// 영어 대문자 < 영어 소문자 < 한글// 같은 문자형태일 경우 사전 등재 순서로 판단합니다.console.log('peach' < 'zebra'); ->trueconsole.log('감자' > '복숭아'); -> falseconsole.log('ZEBRA' > 'apple'); -> false</script></body>(2) 산술연산자
<body><script>console.log(27 % 5); -> 2var num = 3;console.log(num ** 3); -> 27console.log(Math.pow(num, 3)); -> 27console.log('==========================');//단항 산술 연산자 ++, --var x = 3;x++;++x;x--;console.log('x: ' + x); -> x: 4//전위(prefix), 후위(postfix) 연산var a = 10, result;result = a++; //선연산 후증감console.log(`result: ${result}, a: ${a}`); -> result: 10, a: 11result = ++a; //선증감 후연산console.log(`result: ${result}, a: ${a}`); -> result: 12, a: 12</script></body>(3) 삼항 연산자
<body><script>var score = 20;var result = score >= 60 ? '합격' : '탈락';console.log('시험결과: ' + result);/*가지고 있는 돈 액수를 입력 받아서 액수가 5000 이상이면, '김치찌개'를,5000 미만이면 '라면'을 저장하고 alert으로 선택된 음식을 출력하세요. */var money = +prompt('가지고 있는 돈을 입력하세요.');var food = money >= 5000 ? '김치찌개' : '라면';alert('선택된 음식: ' + food);</script></body>3. 조건문 (자바랑 똑같아서 신기했다.)
<body><script>var num1 = 1;var num2 = 2;if(num1 > num2 && true) {console.log(true);} else {console.log(false);}var point = +prompt('점수를 입력하세요: ');alert('당신의 점수:' + point + '점');if(point >= 90){if(point >= 95){alert('A+ 학점입니다.');}else{alert('A 학점입니다.');}}else if(point >= 80){alert('B 학점입니다.');}else if(point >=70){alert('C 학점입니다.');}else if(point >= 60){alert('D 학점입니다.');}else{alert('F 학점입니다.');}</script></body>4. 반복문(1) 반복문<body><script>//Math.random(): 0.0이상 1.0미만의 랜덤값.//Math.floor(): 내림, Math.ceil(): 올림, Math.round(): 반올림var rn = (Math.random()*10) + 1;console.log(rn);//1~10까지의 총합을 구하는 로직var total = 0;/*var n = 1; //beginwhile(n <= 10){ //endtotal += n;n++; //step}*/for(var n=1; n<=10; n++){total += n;}</script></body>(2) 탈출문<body><script>for(var i=0; i<=10; i++){if(i === 5){break;}console.log(i);}while(true){var rn = Math.floor(Math.random()*6);console.log('랜덤값: ' + rn);if(rn === 3){console.log('반복문 종료!');break;}}</script></body>5. 타입캐스팅(1) 암묵적<body><script>var ex = 10 + '20';console.log('ex:' + ex);ex = 10 * '3';console.log('ex:' + ex);var ex2 = 100 + ''; // '100'//문자열 타입의 암묵적 숫자 변환ex2 = + '550';ex2 = true + '';//논리 타입의 암묵적 숫자 변환ex2 = +false;ex2 = +null;console.log(ex2);console.log(typeof ex2);</script></body>(2) 명시적<body><script>var a = 10, b = 20;var result = a + String(b);result = a.toString() + b.toString();//숫자가 아닌 값을 숫자 타입으로 변환하는 방법var m = '10', n = '3.14';result = Number(m) + Number(n);result = parseInt(m) + parseFloat(n);//논리 타입이 아닌 값을 논리 타입으로 변환하는 방법var t = 'Hello', f = '';colsole.log(Boolean(t));colsole.log(Boolean(f));console.log(!!'hello');</script></body>6. 배열(1) 기본<body><script>var fruits = ['딸기', '포도', '복숭아', '사과'];console.log('배열의 길이: ' + fruits.length);fruits[1] = '수박';console.log(fruits);fruits[4] = '파인애플';console.log(fruits);console.log('배열의 길이: ' + fruits.length);fruits[fruits.length] = '망고';//배열 요소 참조var apple = fruits[3];for(var i=0; i<fruits.length; i++){console.log(`${i+1}번째 과일: ${fruits[i]}`);}</script></body>(2)push, shift<body><script>var foods = ['볶음밥', '닭강정', '피자'];console.log(foods);//pop: 배열의 마지막 요소를 제거하고, 제거한 요소를 반환합니다.var lastElement = foods.pop();console.log(lastElement);console.log(foods);//push: 배열의 끝에 요소를 추가합니다.foods.push('파스타');foods.push('족발');console.log(foods);//shift: 배열의 맨 첫번째 요소를 제거하고, 그 위치에 요소를 추가합니다.var firstElement = foods.shift();console.log(firstElement);console.log(foods);//unshift: 배열의 맨 첫번째 위치에 요소를 추가합니다.foods.unshift('떡볶이');console.log(foods);</script></body>(3)2d<body><script>//우리반 학생들 4과목 점수 (국영수탐)var kim = [67,89,92,32];var lee = [100,87,55,67];var ourStudentScores= [[100,90,32,83],[34,56,78,64],[21,45,67,78],[100,56,89,87]];console.log(ourStudentScores);console.log(ourStudentScores[1]);console.log(ourStudentScores[0],[2]);//우리반 한 학생의 평균의 총합을 저장할 변수var ourAverages = 0;for(var studentScores of ourStudentScores){var eachTotal = 0; //한 학생의 4과목 총점for(var score of studentScores){eachTotal += score;}//한 학생의 평균 점수var eachAvg = eachTotal / studentScores.length;ourAverages += eachAvg;}var classAvg = ourAverages / ourStudentScores.length;console.log('우리반 평균: ' + classAvg + '점');</script></body>(4) splice (배열의 특정 요소를 제거!)<body><script>//splice(): 배열의 특정 요소를 제거합니다.var foods = ['떡볶이', '오뎅', '김말이', '닭꼬치'];console.log(foods);var delFood = foods.splice(1,2);console.log(delFood);console.log(foods);foods.splice(0,1, '치킨', '파스타');console.log(foods);//삭제 요소 개수를 0개 주면 삭제 없이 데이터를 추가할 수도 있습니다.foods.splice(2,0,'피자');console.log(foods);//개수를 지정하지 않으면 시작 인덱스부터 끝까지 삭제됩니다.foods.splice(2);console.log(foods);foods.push('보쌈', '닭발');var input = '보쌈';var idx = foods.indexOf(input);if(idx >= 0){foods.splice(idx, 1);console.log('삭제 완료!');}else{console.log('데이터가 없습니다.');}console.log(foods);</script></body>7. 객체(1)<body><script>//객체 생성var dog = {name : '뽀삐',kind : '시츄',age: 3,favorite : ['산책', '간식']};var cat = {name : '야옹이',kind : '페르시안',age : 2,favorite : ['낮잠', '츄르']};console.log(typeof cat);//객체 프로퍼티 참조console.log(dog.name);console.log(cat.name);console.log(cat.age);console.log(cat.favorite[1]);dog.favorite.push('꼬리 흔들기');console.log(dog);//프로퍼티 참조 다른 방식console.log(dog.kind);console.log(dog['kind']);//프로퍼티 값 수정dog.age = 5;cat.favorite[1] = '고등어';console.log(cat);console.log('=====================');//프로퍼티 동적 추가dog.owner = '김철수';console.log(dog);//프로퍼티 삭제delete dog.owner;console.log(dog);//for ~ in (ES6)console.log('==================');for(var key in cat){console.log(cat[key]);}console.log('==================');//객체의 프로퍼티 키의 존재 유무 확인 (in 키워드)var falg = 'kind' in cat;console.log(flag);</script></body>'JAVASCRIPT' 카테고리의 다른 글
javascript (0) 2022.01.17 javascript (0) 2022.01.14 javascript (0) 2022.01.13 javascript (0) 2022.01.12 javascript (0) 2022.01.12