prepend和appendchild之间的差异

我在列表中插入了新行,这是我的代码

 function newToDo() {
 var newTODoList = document.getElementById('toDoListInput');
 var newLine = document.createElement('li');
 var list = document.getElementById('list');
 newLine.textContent = newTODoList.value;
 newLine.class = 'newLineClass';
 list.prepend(newLine);

当我使用appendchild而不是prepend时,我的代码无法正常工作...它们之间的区别是什么?