✔ 함수 표현식
const hello = function(){
console.log(`안녕하세요 자바!`);
}
hello();
화살표 함수
- ECMA Script6에 추가된 문법
- function 키워드를 사용하여 함수를 만드는 것보다 간단하게 표현
- 화살표 함수는 항상 익명
const hello() = () => {
console.log(`안녕하세요 자바!`);
}
const hello = () => console.log(`안녕하세요 자바!`);
매개변수가 있는 경우
const sum = function(x, y){
console.log(`두 수의 합 : ${x + y});
}
const sum = (x, y) => console.log(`두 수의 합 : ${x + y});
리턴값이 있는 경우
const result = function(x,y){
let sum =0;
for(let i=x; i<=y; i++){
sum += i;
}
return sum;
}
const result = (x, y) =>{
let sum =0;
for(let i=x; i<=y; i++){
sum += i;
}
return sum;
}
const pow = x => x * x; // return 값이 없어도 사용이 가능하다.
node.js 다운로드 방법!
node.js - .https://nodejs.org/en/ -> LTS 다운로드
✔ 객체(Object)
프로피티(property)
- 이름과 값으로 구성된 정렬되지 않은 집합
- 프로퍼티는 함수도 저장할 수 있음(프로퍼티 메소드)
const userid = {`no` : 1, `name` : `김사과`, `age` : 20, `gender` :`여자`}
객체를 생성하는 방법
1. 리터럴 표기법
const 객체명 = {
프로퍼티명1 : 값1,
프로퍼티명2 : 값2,
...
프로퍼티명n:function(){
프로퍼티 메소드가 호출되면 실행할 문장;
...
}
} // 하나의 객체만을 사용하기에 적합하다
2. 생성자를 이용
function 생성자명(매개변수1, 매개변수2 ..){
this.프로퍼티명1 = 값1;
this.프로퍼티명2 = 값2;
...
this.프로퍼티명n = function(){
프로퍼티 메소드가 호출되면 실행할 문장;
...
}
} // 똑같은 객체를 여러개 사용할 때 적합하다.
const 객체명 = new 생성자명(값1, 값2 ..);
- new 연산자를 사용하여 객체를 생성하고 초기화 할 수 있음
- 객체를 생성할 때 사용하는 함수를 생성자라고 함
- 새롭게 생성되는 객체를 초기화하는 역할
- 같은 형태의 객체를 초기화하는 역할
3. 클래스를 이용
const 클래스명 = class {
constructor()매개변수1, 매개변수2...){
this.프로퍼티명1 = 값1;
this.프로퍼티명2 = 값2;
...
}
메소드명(매개변수1, 매개변수2){
메소드가 호출되면 실행할 문장;
...
}
}
const 객체명1 = new 생성자명(값1, 값2 ..);
const 객체명2 = new 생성자명(값1, 값2 ..);
...
- ECMA Script6에 추가된 객체 생성 방법
- 내부적으로 생성자를 이용한 객체 생성 방법과 동일하게 작동
✔ 상속
- 자바스크립트는 프로토타입 기반의 객체 지향 언어(클래스 기반의 객체지향 언어와 다름)
- 현재 존재하고 있는 객체의 프로토타입을 사용하여 해당 객체를 복사하고 재사용하는 것
✔ 프로토타입(prototype)
- 모든 객체는 프로토타입이라는 객체를 가지고 있음
- 모든 객체는 프로토타입으로부터 프로퍼티와 프로퍼티 메소드를 상속받음
- 모든 객체는 최소한 하나이상의 다른 객체로부터 상속을 받으며 상속되는 정보를 제공하는 객체를 프로토타입이라고 함
const dog = new Dog(); // Dog.prototype, Object.prototype
✔ Math 객체
수학에서 자주 사용하는 상수와 함수들을 미리 구현한 자바스크립트 표준 내장 객체
min() : 가장 작은 수를 리턴. 매개변수가 전달되지 않으면 Infinity를 리턴. 비교할 수 없는 값이 포함되어 있으면 NaN을 리턴
max() : 가장 큰 수를 리턴. 매개변수가 전달되지 않으면 -Infinity를 리턴. 비교할 수 없는 값이 포함되어 있으면 NaN을 리턴
round() : 소수점 첫번째 자리에서 반올림하여 그 결과를 리턴
floor() : 소수점 버림
ceil() : 소수점 올림
random() : 0보다 크거나 같고 1보다 작은 무작위 소수를 리턴
✔ String 객체
문자열을 손쉽게 다룰 수 있는 객체
const str1 = 'javascript';
const str2 = new String('javascript');
str1 == str2 // true
str1 === str2 // false
length : 문자열의 길이를 반환하는 프러퍼티
indexOf() : 특정 문자나 문자열이 처음으로 등장하는 위치를 리턴
charAt() : 특정 문자열에서 전달 받은 인덱스에 위치한 문자를 리턴
includes() : 특정 문자열에서 전달 받은 문자열이 포함되어 있는지 여부를 리턴
substring() : 전발 받은 시작 인덱스부터 종료 인덱스 바로 앞까지 문자열을 추출
substr() : 전달 받은 시작 인텍스부터 전달 받은 개수만큼 문자열을 추출
split() : 구분자를 기준을 나눈 후 나뉜 문자열을 하나의 배열에 저장
replace() : 원본 문자열의 일부를 전달 받은 문자열로 치환
trim() : 문자열의 앞 뒤 공백을 제거
toUpperCase() : 모두 대문자로 변환
toLowerCase() : 모두 소문자로 변환
'JavaScript' 카테고리의 다른 글
JavaScript(history, navigator, node, 문서객체모델/노드) (0) | 2022.11.09 |
---|---|
JavaScript(date, window, setTimeout, setInterval, 시계만들기, location, form) (0) | 2022.11.07 |
JavaScript(배열, 사용자정의함수, 호이스팅, 주민등록번호 문제) (0) | 2022.11.04 |
JavaScript (대화상자, 연산자, 제어문, 반복문) (0) | 2022.11.04 |
JavaScript (기본, 변수, 데이터타입) (2) | 2022.11.04 |