본문 바로가기
[JavaScript]

[javascript] 자바스크립트의 프로퍼티(property)와 메서드(method) - 1

by 쥰5017 2022. 8. 20.

 

1. 자바스크립트의 프로퍼티(property)란 무엇인가?

MDN에서는 프로퍼티를 다음과 같이 설명하고 있다.

 

A Javascript property is a characteristic of an object, often describiing attributes associated with a data structure. (자바스크립트 프로퍼티란 데이터 구조와 관련된 속성을 설명하는 객체의 특징이다.)

 

 

예를 들면,

1) 객체에서

 

 

{name: "john"} key와 value로 이루어진 이 한 쌍이 프로퍼티이고,

name을 프로퍼티, john을 프로퍼티 값이라고도 할 수 있다.

 

 

2) 문자열이나 배열에서

 

 

위 코드에서 길이가 3으로 출력되는데 이 또한 fruits 배열에 저장된 프로퍼티 값이라 할 수 있다.

여기에서 길이 값을 호출하는 length는 객체의 프로퍼티인 함수이다.

 

 

2. 매서드(Method)란?

매서드란 객체의 프로퍼티인 함수로서, 좀 더 쉽게 표현하자면

프로퍼티에 저장된 값이 함수인 경우 매서드라 지칭하는 것이다.

위의 코드에서 length가 메서드의 좋은 예시가 되겠다.

 

속성과 매서드의 연관성은 ms 문서를 참고하면 좋을 듯 하다.

 

매서드는 자바스트립트 내장 매서드를 사용할 수도 있고, 객체에 매서드를 생성하여 사용할 수도 잇다.

아래는 자바스크립트에서 자주 사용하는 데이터별 내장 매서드이다.

 

+ 개인적으로 왜 다들 매서드(메서드)라고 하는지 모르겟다,, 영발음이 어~오 그 어디쯤에 가깝긴 하지만 한국어로 표현하자면 매소드에 더 가까운 것 아닌가? ㅎㅎ

 

1) 숫자형의 메서드

 

 

toFixed();  소숫점 자리 수 길이를 제한하여 출력

toPrecision();  정수와 소숫점 자리 수 길이를 제한하여 출력

 

 

 

isNaN(); 부동 소수점 산술에서 정의되지 않거나 표현할 수 없는 값인지 확인

isFinite(); 정상적인 유한수인지 확인

isNaN(); 표현할 수 없는 수인가요?

isFinite(); 유한한 수인가요? 로 생각하면 쉽다.

 

 

 

 

parseInt(); 문자열을 정수로 변환

(N진수로 명시적 변환도 가능하다. 코드의 마지막 줄 16진수 0f의 10진수 표현은 15이다.)

parseFloat(); 문자열을 실수로 변환

 

 

2) 문자열의 매서드

 

 

charAt(); 캐릭터 앳의 준말로 문자열 내 개별 문자에 접근

charCodeAt(); 아스키 코드 값(위 코드에서는 e의 아스키 코드 값인 101이 출력되었다.)

 

 

 

indexOf(); 원하는 문자의 인덱스 값을 검색

lastIndexOf(); 원하는 문자의 인덱스 값을 뒤에서부터 검색

뒤에서부터 검색하는 매서드가 있는 이유는

문자열 검색 중 처음 검색된 문자의 인덱스 값이 반환되기 때문이다.

위 코드에 주어진 "hello world!"에 indexOf("l"); 을 실행하면 두 ㅣ중에서 앞에 있는 ㅣ의 인덱스 값인 2가 반환된다.

 

includes(); 포함하고 있는지 여부를 검색

startsWith(); 시작하는 부분 검색 (시작점을 정해줄 수 있다.)

endsWith(); 끝나는 부분 검색

 

 

 

toUpperCase(); 모두 대문자로 변환

toLowerCase(); 모두 소문자로 변환

 

 

 

replace(); 문자열을 탐색한 후 대체

/(찾을 문자열)/g 또는 /(찾을 문자열)/gi로 쓸 수 있는데 gi를 사용하면 대소문자 구분없이 대체한다.

slice(); 시작점과 끝점을 정하여 문자열을 자름

substring(); slice와 같은 기능

차이점은 시작점과 끝점을 반대로 입력해줘도 알아서 작은 수를 시작점으로 정한다는 것이다.

 

 

 

split(); 문자열을 잘라 배열의 요소에 넣어 반환해주는 매서드이다. 정말 유용하게 많이 쓰고 있다.

split(" "); 쌍따옴표 사이에 띄어쓰기를 넣었으므로 띄어쓰기 기준으로 문자열을 자른다.

split(""); 쌍따옴표 사이에 아무것도 넣지 않으면 문자 하나하나 잘라 배열을 만든다.

 

댓글