IT Study/JavaScript

[JS] 🐰기록하고 보기 위한 '놓치기 쉬운 부분들' (match, 인스턴스, random, 원시값-객체)_엘리스2주차

짹짹체유 2023. 8. 24. 10:33

match 메서드

문자열.match(찾을 단어)

match() 메서드는 찾을 단어를 찾으면, '찾을 단어' 자체를 반환

let txt = "What I love it"

txt.match("i")
// 'i'를 출력

 

   ➕ 정규표현식 사용

"/i"플래그는 대소문자 구분 허용하지 않고 문자열 검색

let txt = "What I love it";

console.log(txt.match(/i/i));

// [ 'I', index: 5, input: 'What I love it', groups: undefined ] 출력

"g"는 글로벌 플래그로 문자열에 해당하는 부분을 전부 배열에 넣기에, "/gi"는 대소문자 구분 허용하지 않고 모든 문자열을 검색해서 반환

let txt = "What I love it";

console.log(txt.match(/i/gi));
// ['I', 'i'] 출력
From. 🐰
var len = lyrics.match(/p/g).length​

lyrics 에서 'p'를 찾아서 그 개수(length)를 구함

 

✅ 인스턴스

인스턴스: 프로타입객체를 통해 만들어낸 객체

ex. 자동차 공장에서 자동차의 원형이 되는 틀을 만들어서 각 자동차마다 원하는 특징을 넣어 차를 만듬. 자동차 공장이 가진 틀을 프로토타입 객체, 자동차 공장에서 틀을 사용해 만들어낸 자동차(객체)를 인스턴스(Instance)

function Car(name, price) {
    this.name = name;
    this.price = price;
}

let ev9 = new Car("EV9", 8000);

여기에서 프로토타입 객체는 Car, 인스턴스는 ev9

 

📑 참고자료

https://abled.tistory.com/71

 

#24 자바스크립트(JavaScript) - 프로토타입과 인스턴스

안녕하세요 에이블디 입니다! 이번 시간에는 프로토타입과 인스턴스에 대해 알아보려고 해요! 여러분 혹시 자바의 클래스라는 개념을 들어보셨나요? 객체지향 언어의 가장 최소 단위가 되는 것

abled.tistory.com


 

Math.random()

기본적으로 Math.random()는 0과 1 사이의 임의의 숫자를 반환

특정 두 수의 값을 반환하고 싶다면 *를 활용

 

ex. 2~6 사이의 랜덤한 값

let min = 2;
let max = 6;

document.write( Math.random() * (max - min) + min );

 

원시 값과 객체의 비교

원시 값: 변경 불가능한 값. 메모리 크기 예측됨

객체: 변경 가능한 값. 메모리 크기 예측 x. 객체 안에 객체도 생성할 수 있어서

var person1 = {
  name: 'Lee'
};

var person2 = {
  name: 'Lee'
};

console.log(person1 === person2); // false
console.log(person1.name === person2.name); // true

"==="는 참조까지 비교. 서로 다른 메모리 위치에 저장된 별개의 객체이기 때문에 첫 번째 결과는 false

 


 연산자

옵셔널 체이닝 연산자

" ?. "

var elem = null;

var value = elem?.value;
console.log(value); // undefined

elsm이 null or undefined이면 undefined를 반환. 그렇지 않으면 우향의 프로퍼티 참조를 이어감

 

 

Null 병합 연산자

" ?? "

var foo = null ?? 'default string';
console.log(foo); // "default string"

좌항의 피연산자가 null or undefined이면 우항의 피연산자를 반환. 그렇지 않으면 좌항의 피연산자 반환.

 


 기타

객체 -> { }로 표현

 

for in은 Key 값이 있음 -> Object에서 많이 사용 / 배열에서는 for of문 많이 사용

 

콘솔에서는 \n이 줄바꿈. 브라우저에서는 <br> or document.writeln으로도 가능

 

반응형