[JavaScript] JS 프로퍼티와 메소드.zip

부지런한 배짱이🤟·2022년 4월 12일
0

공부기록

목록 보기
20/23

오늘 배운내용
📍 데이터 타입별 프로퍼티와 유용한 메소드
📍 sort가 문자열객체 메소드였다는 사실..?

백틱(`)을 사용하면 줄바꿈과 보간법을 사용할 수 있다.

  • ${변수명}
let str = 'zeeyoon';
console.log(`저의 이름은 ${str}이라고 합니다!`);
// 저의 이름은 zeeyoon이라고 합니다!

🔡 문자열객체의 메서드

  • charAt(N) : 문자열객체의 N번째 문자를 추출!(zeorbased index)
  • .length : 변수의길이
  • .split("조건") : 문자열을 조건 기준으로 나눈다.
var str1 = "Hello World";

document.write(str1.length); ///11
document.write(str1.charAt(0)); //H
document.write(str1.split(" ")); //Hello , World
  • sort() : 문자열을 순서대로 정렬한다.
    • sort((a,b) ⇒ a-b ) : 숫자 정렬시 ⇒ 작은숫자부터
    • sort((a,b)⇒ b-a) : 숫자 정렬시 ⇒ 큰 숫자부터

📍배열객체의 메서드

  • length : 배열의 길이
  • 원본 배열을 제어하는 메서드
    • .push("데이터") : 배열 맨끝의 데이터 추가하기
    • .pop() : 배열 맨끝의 데이터 제거하기
    • .unshift(”데이터”) : 배열 맨앞의 데이터 추가하기
    • .shift() : 배열 맨앞의 데이터 제거하기
  • filter(el ⇒ el관련 실행문) : filter의 실행문의 조건에 맞는 결과값을 출력
  • Array(배열의갯수).fill(배열을채울데이터)
    let input = 10
    let result = Array(input).fill().map((v,i) => i+1);
    //input의 길이만큼 배열을 생성후 map메서드의 반환값으로 채워넣겠다. 
  • concat() : a배열.concat(b배열) > a배열에 b배열 덧붙히기
  • reduce()
  • forEach()
  • map()

🧮 Math객체의 메서드

  • abs : 절대값 출력
  • ceil : 소수점 무조건 올림
  • floor : 소수점 무조건 버림
  • random : 0과 1사이의 임의의 숫자 (0과 1은 미포함
  • round : 입력받은 값을 반올림해 반환한다.
ath.abs(-12);  // 12
Math.ceil(3.4);  // 4
Math.floor(5.6);  //5
Math.random();  // 0과 1 사이의 임의의 숫자 출력
  • 1~6 사이의 임의의 숫자 출력하기
function ran(maxNum) {
    //  random 함수는 0과1사이의 임의의 숫자이므로
    //  0*6 = 6 , 1 * 6 =6 -> 즉 0과 6사이 난수
		// 0값을 1로 바꾸고 6미만이므로 +1 을 해준다.
    var tmp = Math.floor(Math.random() * (maxNum)) + 1;
    document.write(tmp);
}

ran(6);

⛓ 형변환 메서드

  • parseInt() : 문자열을 정수로
  • parseFloat() : 문자열을 소수로, 문자열이 “20” 이여도 작동
  • Number() , toString()
var str1 = "20.14";

document.write(parseInt(str1)); // 20
document.write(parseFloat(str1)); // 20.14

document.wirte()

  • 콘솔창이 아니라 화면에 출력됨
  • document.writeln() : 웹화면에 출력값 사이에 공백을 넣으면서 출력한다.

  • MDN 문서 사이트에서 데이터타입별로 메소드와 프로토타입 개념과 예시코드를 볼 수 있음! -> 예시코드 따라하면서 연습해보기!

출처 : 엘리스아카데미(예시코드), MDN 문서

profile
UX에 관심많은 프론트 엔드 개발자입니다:)

0개의 댓글