Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么这个三元运算符不工作?(详见下文)_Javascript_Html_Dom - Fatal编程技术网

Javascript 为什么这个三元运算符不工作?(详见下文)

Javascript 为什么这个三元运算符不工作?(详见下文),javascript,html,dom,Javascript,Html,Dom,我有一个函数,它可以与if/else配合使用,但不能与三元配合使用。有人知道原因吗? 另外,如果有人能告诉我一种让它看起来更好的方法,我会非常感激 function print(){ for (const book of myLibrary){ let cover = document.createElement('div') cover.textContent =`title: ${book.title}

我有一个函数,它可以与if/else配合使用,但不能与三元配合使用。有人知道原因吗? 另外,如果有人能告诉我一种让它看起来更好的方法,我会非常感激

function print(){
    for (const book of myLibrary){
        let cover = document.createElement('div')
        cover.textContent =`title: ${book.title} 
                            author: ${book.author}
                            pages: ${book.pages}` 
        
        // this line: (book.finished) ? cover.classList.add('bookStyle') : cover.classList.add('bookStyle2');
        
        if (book.finished){
            cover.classList.add('bookStyle')
        }
        else{
            cover.classList.add('bookStyle2')
        }

        books.appendChild(cover)
    }
}

当三元组用于返回值,而不是执行或调用操作时,它们非常有用

以下是我将如何改进您的三元结构

// Old
this line: (book.finished) ? cover.classList.add('bookStyle') : cover.classList.add('bookStyle2');
// Prefered
cover.classList.add(book.finished ? 'bookStyle' : 'bookStyle2');

“如果有人能告诉我一种让它看起来更漂亮的方法”,我会从不用三元组开始。它通常用于根据条件返回值。您没有对返回值执行任何操作。在我看来,这只会使事情更难阅读。。您的
(book.finished)
被解释为您试图在其前面的模板文本上调用一个函数。@Ivar如果三元组看起来像
cover.classList.add(book.finished?“bookStyle”:“bookStyle2”)
。请参阅。这可能会起作用
((book.finished?)cover.classList.add('bookStyle')):cover.classList.add('bookStyle2'))