기본자료형에는 3가지가 있다.(숫자, 문자열, 불)
기본 자료형은 변수가 참조하더라도 주소가 아닌, 실제 값만을 할당함.
이 말은 즉슨, 그 기본자료형을 참조하고 있는 변수값을 바꾸더라도, 기본 자료형의 값은 바뀌지 않음.
아래 링크에 예시를 자세히 들어놓음.
https://elecch.tistory.com/432
1-9 A를 # 으로[배열은 참조타입, 문자열은 원시타입]
문제는 없는 코드다. 하지만 gpt가 리팩토링하니 더 간단하게 만들수 있다. 바로. includes는 필요가 없다는것. 그저 바꾸기만 하면됨. function solution(s){ if(s.includes('A')) return s.replaceAll('A','#') } let str="
elecch.tistory.com
기본 자료형은 이렇게 손쉽게 나타낼 수 있다.
let number = 273;
let string = '안녕하세요'
let boolean = true;
console.log(number) // 273
console.log(string) // 안녕하세요
console.log(boolean) // true
이 기본형들은 각 본인의 클래스를 가지고 있음. 이를 통해 자신들과 같은 타입의 것들을 만들어낼 수 있음.
let number = new Number('273');
let string = new String(1234567)
let boolean = new Boolean(true);
console.log(number)
console.log(string)
console.log(typeof number) // object
console.log(typeof string) // object
console.log(typeof boolean) // object
기본 자료형과 객체 자료형 모두 속성과 메서드를 사용할 수 있음.
기본 자료형은 속성, 메소드를 사용할 때 기본 자료형이 자동으로 '객체'로 전환되기에 사용 가능한것임.
'클래스기본형.prototype '추가 X => 출력 실패.
let pri = 273;
pri.method = function () {
// 객체가 아닌 기본 자료형은 메소드, 속성선언불가
return 'Primitive Method';
};
console.log(pri.method());
'클래스기본형.prototype '추가 => 출력 성공.
let pri = 273;
Number.prototype.method = function () {
// 객체가 아닌 기본 자료형은 메소드, 속성선언불가
// 그러니 객체모양으로 잠깐 변신.
return 'Primitive Method';
};
console.log(pri.method());
pri는 Number 타입의 인스턴스입니다. 이 말은 pri가 Number.prototype에 정의된 메서드를 사용할 수 있음을 의미한다.
'🗃️javascript > 이론정리' 카테고리의 다른 글
객체를 선언할 때 키 값은 문자열이지만 특수문자가 키값이 되면 에러 (0) | 2023.10.07 |
---|---|
arguments (매개변수를 다루는 유사 배열 객체) (0) | 2023.10.07 |
클래스, 컨스트럭터 및 객체 예시 (0) | 2023.09.20 |
js 개발 이론정리(2)[문자열 잇기] (0) | 2023.04.03 |
js 개발 이론정리(1)[async, defer, 데이터 타입] (0) | 2023.04.02 |