

2차시: 변수와 데이터 타입
JavaScript 기초 - 데이터를 저장하고 활용하는 방법
📚 학습 목표
- 변수의 개념과 선언 방법 이해하기
- 다양한 데이터 타입(문자열, 숫자, 불린, 배열, 객체) 다루기
- 변수를 활용하여 스프레드시트 조작하기
📖 변수란 무엇인가?
1
변수의 개념 이해하기
변수는 데이터를 저장하는 "상자"라고 생각하면 됩니다. 상자에 이름표를 붙이고, 그 안에 값을 넣어두었다가 필요할 때 꺼내 쓸 수 있습니다.
변수 선언 방법 3가지:
• var: 옛날 방식 (함수 범위)
• let: 현대적 방식 (블록 범위, 값 변경 가능)
• const: 상수 선언 (블록 범위, 값 변경 불가)
• var: 옛날 방식 (함수 범위)
• let: 현대적 방식 (블록 범위, 값 변경 가능)
• const: 상수 선언 (블록 범위, 값 변경 불가)
🚀 실습 1: 변수 선언과 사용
2
새 프로젝트 준비하기
1. 지난 시간에 만든 "앱스크립트 연습" 스프레드시트를 엽니다
2. 확장 프로그램 → Apps Script를 클릭합니다
3. 새로운 함수를 작성할 준비를 합니다
2. 확장 프로그램 → Apps Script를 클릭합니다
3. 새로운 함수를 작성할 준비를 합니다
3
기본 변수 다루기
다음 코드를 입력하고 실행해보세요:
실행 후 "실행 로그"를 클릭하여 결과를 확인하세요.
function 변수연습() {
// 문자열 변수
let 이름 = "홍길동";
let 인사말 = "안녕하세요, " + 이름 + "님!";
// 숫자 변수
let 나이 = 25;
let 내년나이 = 나이 + 1;
// 불린(참/거짓) 변수
let 성인여부 = 나이 >= 20;
// 로그로 확인
Logger.log(인사말);
Logger.log("나이: " + 나이);
Logger.log("내년 나이: " + 내년나이);
Logger.log("성인입니까? " + 성인여부);
}
4
배열(Array) 사용하기
배열은 여러 개의 값을 하나의 변수에 저장할 수 있습니다:
실행하고 로그를 확인하세요.
function 배열연습() {
// 배열 선언
let 과일목록 = ["사과", "바나나", "포도", "딸기"];
let 점수목록 = [95, 87, 92, 88, 90];
// 배열 요소 접근 (인덱스는 0부터 시작)
Logger.log("첫 번째 과일: " + 과일목록[0]);
Logger.log("세 번째 과일: " + 과일목록[2]);
// 배열 길이
Logger.log("과일 개수: " + 과일목록.length);
// 배열에 요소 추가
과일목록.push("오렌지");
Logger.log("추가 후 과일 목록: " + 과일목록);
// 평균 계산
let 합계 = 0;
for (let i = 0; i < 점수목록.length; i++) {
합계 = 합계 + 점수목록[i];
}
let 평균 = 합계 / 점수목록.length;
Logger.log("평균 점수: " + 평균);
}
5
객체(Object) 사용하기
객체는 관련된 데이터를 묶어서 저장합니다:
실행하고 결과를 확인하세요.
function 객체연습() {
// 객체 선언
let 학생 = {
이름: "김철수",
나이: 20,
학년: 2,
전공: "컴퓨터공학",
학점: 3.8
};
// 객체 속성 접근
Logger.log("이름: " + 학생.이름);
Logger.log("전공: " + 학생.전공);
Logger.log("학점: " + 학생.학점);
// 객체 속성 수정
학생.학년 = 3;
Logger.log("수정된 학년: " + 학생.학년);
// 새로운 속성 추가
학생.연락처 = "010-1234-5678";
Logger.log("연락처: " + 학생.연락처);
}🎯 실습 2: 스프레드시트에 데이터 입력하기
6
학생 명단 작성하기
배열과 반복문을 사용하여 여러 학생의 정보를 입력합니다:
실행 후 스프레드시트에 데이터가 입력되었는지 확인하세요.
function 학생명단작성() {
let sheet = SpreadsheetApp.getActiveSheet();
// 제목 행 작성
sheet.getRange("A1").setValue("번호");
sheet.getRange("B1").setValue("이름");
sheet.getRange("C1").setValue("국어");
sheet.getRange("D1").setValue("영어");
sheet.getRange("E1").setValue("수학");
// 학생 데이터 (배열 안에 배열)
let 학생들 = [
[1, "김민수", 85, 90, 88],
[2, "이지은", 92, 87, 95],
[3, "박준호", 78, 82, 80],
[4, "최유진", 95, 93, 91],
[5, "정하늘", 88, 85, 89]
];
// 반복문으로 데이터 입력
for (let i = 0; i < 학생들.length; i++) {
let 행번호 = i + 2; // 2행부터 시작 (1행은 제목)
let 학생 = 학생들[i];
sheet.getRange(행번호, 1).setValue(학생[0]); // 번호
sheet.getRange(행번호, 2).setValue(학생[1]); // 이름
sheet.getRange(행번호, 3).setValue(학생[2]); // 국어
sheet.getRange(행번호, 4).setValue(학생[3]); // 영어
sheet.getRange(행번호, 5).setValue(학생[4]); // 수학
}
SpreadsheetApp.getActiveSpreadsheet().toast("학생 명단 작성 완료!", "완료", 3);
}
7
평균 점수 계산하기
각 학생의 평균을 계산하여 추가 열에 표시합니다:
실행 후 F열에 평균이 표시되는지 확인하세요.
function 평균계산() {
let sheet = SpreadsheetApp.getActiveSheet();
// 제목 추가
sheet.getRange("F1").setValue("평균");
// 2행부터 6행까지 반복 (학생 5명)
for (let row = 2; row <= 6; row++) {
// 국어, 영어, 수학 점수 가져오기
let 국어 = sheet.getRange(row, 3).getValue();
let 영어 = sheet.getRange(row, 4).getValue();
let 수학 = sheet.getRange(row, 5).getValue();
// 평균 계산
let 평균 = (국어 + 영어 + 수학) / 3;
let 평균반올림 = Math.round(평균 * 10) / 10; // 소수점 첫째자리
// 평균 입력
sheet.getRange(row, 6).setValue(평균반올림);
}
SpreadsheetApp.getActiveSpreadsheet().toast("평균 계산 완료!", "완료", 3);
}
8
등급 매기기
평균 점수를 기준으로 등급을 부여합니다:
실행 후 G열에 등급이 표시되는지 확인하세요.
function 등급매기기() {
let sheet = SpreadsheetApp.getActiveSheet();
// 제목 추가
sheet.getRange("G1").setValue("등급");
// 각 학생의 등급 계산
for (let row = 2; row <= 6; row++) {
let 평균 = sheet.getRange(row, 6).getValue();
let 등급;
// 조건문으로 등급 결정
if (평균 >= 90) {
등급 = "A";
} else if (평균 >= 80) {
등급 = "B";
} else if (평균 >= 70) {
등급 = "C";
} else if (평균 >= 60) {
등급 = "D";
} else {
등급 = "F";
}
sheet.getRange(row, 7).setValue(등급);
}
SpreadsheetApp.getActiveSpreadsheet().toast("등급 매기기 완료!", "완료", 3);
}💡 데이터 타입 정리
- 문자열(String): "안녕하세요", '홍길동' - 따옴표로 감싼 텍스트
- 숫자(Number): 42, 3.14 - 정수와 소수
- 불린(Boolean): true, false - 참 또는 거짓
- 배열(Array): [1, 2, 3] - 순서가 있는 값들의 목록
- 객체(Object): {이름: "김철수", 나이: 20} - 키-값 쌍의 모음
⚠️ 주의사항
- 변수명은 의미있게 작성하세요 (a, b보다는 이름, 점수 등)
- 배열의 인덱스는 0부터 시작합니다 (첫 번째 요소는 배열[0])
- 문자열과 숫자를 더할 때는 결과가 문자열이 됩니다 ("점수: " + 90 → "점수: 90")
- const로 선언한 변수는 값을 변경할 수 없습니다
🎯 2차시 정리
이번 시간에는 변수와 다양한 데이터 타입을 배우고, 실제 스프레드시트에 데이터를 입력하는 실습을 했습니다.다음 차시에서는 조건문과 반복문을 더 깊이 배우고, 복잡한 로직을 구현해보겠습니다.
'AppSheet' 카테고리의 다른 글
| 구글 앱스크립트 4차시 - 함수와 매개변수 (1) | 2025.12.20 |
|---|---|
| 구글 앱스크립트 3차시 - 조건문과 반복문 (1) | 2025.12.20 |
| 구글 앱스크립트 1차시 - 시작하기 (2) | 2025.12.20 |
| 구글시트 와 구글스크립트 이용 출석체크 (1) | 2025.12.07 |
| AppSheet 개선된 에디터 화면 (Improved Editor) (14) | 2025.08.10 |