- 원시 값이란 변경 불가능한 값 -> 한번 생성된 원시 값은 읽기 전용 값으로서 변경할 수 없다 => 불변성
- 불변성을 갖는 원시 값을 할당한 변수는 재할당 이외에 변수 값을 변형할 수 있는 방법이 없다.
- 유사배열객체 ?
- 배열처럼 인덱스로 프로퍼티 값에 접근할 수 있고 length 프로퍼티를 갖는 객체를 말한다. 문자열은 마치 배열처럼 인덱스를 통해 각 문자에 접근할 수 있으며, length 프로퍼티를 갖기 때문에 유사배열 객체이고 for문으로 순회할 수도 있다.
var score = 80;
var copy = score;
console.log(score. copy);
// 80, 80
console.log(score === copy);
// true
- score과 copy 변수는 숫자 값 80을 갖는다는 점에서 동일
but, score과 copy의 80값은 다른 메모리 공간에 저장된 별개의 값이다.
- 함수는 일련의 과정을 문으로 구현하고 코드블록으로 감싸서 하나의 실행 단위로 정의한 것 < 매개변수, 인수, 반환 값 >
- 코드의 재사용
- 유지보수의 편의성
- 코드의 신뢰성
- 코드의 가독성
- 함수 리터럴은 function 키워드, 함수 이름, 매게 변수 목록, 함수 몸체로 구성된다. ( 객체 타입의 값 )
- 함수선언문
function add(x,y) {
return x+y; };
- 함수 표현식
var add = function(X,y){
return x+y; };
- Function 생성자 함수
var add = new Function('x','y','return x+y');
- 화살표 함수(ES6)
var add = (x, y) => x+y;
- 이상적인 함수는 한가지 일만 해야 하며 가능한 작게 만들어야 한다. ( 가능한 3개 이상 넘지 않게 )