18일: 타입, 문자열자르기, of 반복문

Jiwontwopunch·2021년 12월 7일
0

국비기록

목록 보기
18/121
post-thumbnail

2021.12.7.Tue.

✍ 복습

배열 요소 개수 확인하기

배열의 마지막 요소를 선택할 때 fruits[fruits.length-1]

타입에 대해

  • 자바스크립트의 기본 타입: number, string, boolean, undefined, object...
  • 속성과 메소드는 object의 소속
  • 자바스크립트(및 자바)는 기본 타입을 다루기 위한 객체를 제한다 → Number, String, Boolean... → 속성과 메소드 제공
  • 자바의 경우, Number를 사용하려면 프로그래머가 number를 Number로 바꿔줘야한다. 하지만 JS는 .을 찍는 순간 기본타입을 객체로 변환해서 속성과 메소드를 사용 가능하게 한다. 그리고 .사용이 끝나면 다시 기본타입으로 돌려놓는다.

문자열 자르기

console.log("hello"); // string
console.log("hello".length); // String
console.log("hello".substr(1,2)); // "el"
console.log("hello".substr(1)); // "ello"

웹 프로그래밍에서 문자열 자르기

  • 서버로 irum은 spring, password는 1234라는 값을 넘기면 urlencoded 형식으로
    → 서버주소?irum=spring&password=1234
  • get: urlencoded 문자열이 주소창에 출력(읽기)
    → querystring → location.search() 사용가능
  • 주소가 서버?state=error
let querystring = "?state=error";
// state=error라고 출력하려면?
console.log(querystring.substr(1)); // state=error
  • 문자열 연산은 문자열 자체를 변경하지 않는다. 작업한 다음 꼭 저장해야 한다.
let string = querystring.substr(1);
  • irum이란 이름과 spring이란 값을 나눠보자.
let ar = string.split("=");
console.log(ar[0]);
console.log(ar[1]);
  • 위의 코드들을 쭉 정리하면 아래와 같다.
let querystring = "?username=spring&password=1234";
let string = querystring.substr(1); // ? 삭제
let data = string.split("&");
console.log(data[0]); // username=spring
console.log(data[1]); // password=1234
let username = data[0].split("=");
console.log(username[0]); // username
console.log(username[1]); // spring

문자열 합치기

for(d of data){
  let parameter = d.split("=");
  console.log("이름:"+parameter[0]);
  console.log("값:"+parameter[1]);

of 반복문

of 반복문은 복사본을 건드리는 것으로 값 변경이 불가하다. 파일 업로드를 할 때 서버로 넘어가는 정보를 확인할 때 사용. 반면에 for 반복문은 값 변경을 할 때 사용.

const saram = [
  {이름:"홍길동", 국어:77},
  {이름:"전우치", 국어:67},
  {이름:"임꺽정", 국어:80},
];
for(const a of saram){
  if(a.name==="임꺽정") console.log(a);
}

// 국어성적이 80점 이상이 있는가?
let iskorOver80Exist = false;
for(const s of saram){
  if(s.kor>=80) iskorOver80Exist=true;
}
console.log(iskorOver80Exist); // true

// 전우치 학생을 찾아 국어점수를 10점 증가시키시오.
// of 반복문은 값 변경이 불가하니 사용 불가
for(let i=0; i<saram.length; i++){
  if(saram[i].이름==="전우치") saram[i].국어 += 10;
}
console.log(saram);

0개의 댓글