-
🚩 20250124_수업내용(비트논리연산자/객체/배열*Push*unshift*pop*shift*splice)DW아카데미 개발자과정/25년 1월 2025. 1. 24. 17:25
오전 수업 ) 자바
비트논리연산자
if문
조건연산자와 다르게 선택 가능(참과 거짓 둘다 선택 & 참인 경우 선택)
👀 문제 풀어보기
1. 두 숫자 중 큰 수 구하기 2. 철수와 민수 중 누가 발이 더 큰가?
3. 도시락 가격이 5200원이다 . 내 통장 잔액이 4530이라면 얼마를 이체해야하나?4. 바이킹 탑승 조건 - 키가 140 이상 190이하 만 가능
5. 후룸라이드 탑승 하려면 키가 130이거나 몸무게 45kg 이상만 가능하다.
글 조건을 적고 !()반대를 적어줘도 같은 결과값이 나온다
오후 수업 ) 자바스크립트
Early return
//Early return// 예외상황 지정 후 처리 => 예외처리const myFn = () => {if (name.length === 1) {alert("이름을 정확하게 입력하세요");return;}if (name.length >= 12) {alert("이름이 너무 긴거 아닌가요...?");return;}alert("좋은 이름이네요");};
myFn();인자값
-. 인자를 받아올 수 있다. 위치는 ()안, 여러개의 인자는 ,로 구분
-. 받아오는 인자의 이름은 함수를 만드는 사람의 임의대로 조절 가능
-. 순서는 꼭 지켜야 한다.
const isPersonAdult = (name, age) => {// 인자를 받아오 룻 있다. 위치는 ()안, 여러개의 인자는 ,로 구분// 받아오는 인자의이름은 함수를 만드는 사람이 임의대로 조절 가능// 순서는 꼭 지켜야 한다.
// const name = prompt("이름을 알려주세요");
if (name.length <= 1) {return alert("입력을다시해줘야해여");}
// const age = prompt("그래서 나이가 어떻게 되시나요?");
if (age < 19) {return alert("청소년입니다");}console.log(`${name}님은 성인입니다`);};
isPersonAdult("최예", "12");// 인자값 넣는 순서가 중요하다.== 함수의 재사용성을 높이는 방법
객체 object
// Object 오브젝트 객체// {} 메모리를 할당해줌const person = {name: "신선우", // const name='신선우' => 객체에서 값의 이름: 값tel: "01012341234", //객체 안에 값은 ,로 구분한다};
console.log(person);console.log(typeof person);객체 출력 두 가지 방법
1 첫번째 방법 .값
// person의 name을 출력하세요console.log(person.name);// perseon의 tel을 출력하세요console.log(person.tel);ㄴ object 변수.값의 이름
2. 두번째 방법 ["값"]
// person의 name을 출력하세요console.log(person["name"]);// perseon의 tel을 출력하세요console.log(person["tel"]);객체 타입 확인법
console.log(typeof person.name);ㄴ person.name 타입을 확인함
대괄호를 쓸 수 있는 방법
const 객체값추출기 = (객체, 값) => {console.log(객체[`${값}`]);};
const 객체생성기 = (객체, 값) => {let copy = { ...객체 }; // 복사하기 ...을 사용해서 변수를 복사합니다. {}안에 복사할 값은 마찬가지로 오브젝트일때만 가능합니다.copy[`${값이름}`] = 값;
console.log(copy);};객체값추출기(me, "tall");객체생성기(me, "age", 21);</script>
Array 배열
객체와 마찬가지로 모든 타입의 값을 담을 수 있다.
// Array 어레이 배열 = 객체와 마찬가지로 모든 타입의 값을 담을 수 있음
const array = ["a", 12, false, undefined, null]; //별로 좋지 못한 배열const betterArray = [me, me, me];
console.log(betterArray);
const anotherArray = [array, array, array];console.log(anotherArray);
console.log(array);console.log(typeof array);배열에는 같은 형태의 타입을 담는 것이 좋다
순서 Index
// array1의 마지막 글자를 출력해 보세요
array1.push("f");console.log(array1[4]);
// 배열의 최대 인덱스값 수하는 법 = 배열.length-1console.log(array1[array1.length - 1]);Push 함수 - 마지막값을 추가한다
// 배열.push함수 // 배열의 마지막에 값을 추가한다array1.push("f,", "g", "h");// push 함수 ()안에는 값을 집어넣으면 되는데 하나의 값이 아니라 쉼표로 구분해서 여러개의 값을 동시에 넣을 수도 있다.배열의 마지막 값을 추가한다
배열.unshift 함수 - 배열 앞에 추가한다
0, 마지막 자리가 중요하기 때문에
// 배열.unshift함수array1.unshift("0");array1.unshift("1");array1.unshift("2");결과값 unshift 함수는 push 함수와 사용법이 같다.
*** ()안에 순서를 그대고 가져다가 앞에 붙임
배열.pop 함수 - ()안에 아무것도 안넣음
array1.pop();array1.pop(); // 한번에 하나만 지움, 제일 뒤에 있는거 지움배열.shift 함수 - ()안에 아무것도 안넣음 (pop함수랑 같은 사용법)
// 배열.shift함수// 2, 1, 0 지우세요array1.shift();array1.shift();array1.shift();pop, shift 각각 한 번에 하나씩 지울 수 있음
차이점
pop - 뒤, shift - 앞의 아이템을 지움
splice 함수 splice(index순서.지울횟수)
첫번째에서 부터 몇개 지울건지, 마지막에서 몇개 지울건지
* 순서대로 지워진다
// 한번에 N개 지우는 함수// aaray1 = ['a', 'b', 'c', 'd', 'e', 'f,', 'g', 'h']
array1.splice(0, 3);// aaray1 = ['d', 'e', 'f,', 'g', 'h']array1.splice(0, 3);// aaray1 = ['d', 'e']👀 문제 풀어보기
let array2 = [1, 2, 3, 4, 5];
// push 사용해서 뒤에 6,7,8 추가array2.push(6, 7, 8);// unshift 사용해서 앞에 -2, -1, 0array2.unshift(0, -1, -2);// pop 사용해서 8 제거array2.pop();// shift 사용해서 -2, -1 제거array2.shift();array2.shift();// splice 사용해서 0~2제거// -2, 1, 2, 3, 4, 5, 6, 7array2.splice(0, 3);// 4~6 제거array2.splice(1, 3);console.log(array2);2번째 문제
let array3 = ["박건태","곽찬양","김다하","김현진","서경림","최예나","허승원","이종훈",];// 김다하씨만 출석부에서 없애버리세요
const index = array3.findIndex((name) => {if (name === "김다하") {return name;}}); // -1 찾는 사람이 없을 때,// 0이상 index가 있다. 즉 사람을 찾음
// 만약 index라는 변수가 0 이상이면,if (index >= 0) {array3.splice(index, 1);}console.log(array3);'DW아카데미 개발자과정 > 25년 1월' 카테고리의 다른 글
🚩 20250204_수업내용(반복문*for/switch 문*script/mbti만들기) (1) 2025.02.04 🚩 20250131_수업내용(if문/While문*for*do/&&엠파산/조건문 작성하는 여러 방법/부트스트랩사용) (1) 2025.01.31 🚩 20250123_수업내용(조건연산자 활용/onclick/) (0) 2025.01.23 🚩 20250122_수업내용(연산 상세/javascript 문자열/alter/function) (1) 2025.01.22 🚩 20250121_수업내용(Scanner/연산자/깃허브연동/javascript변수) (1) 2025.01.21